java类工厂设计模式——Java学习之③

在接口和子类之间加入一个过渡端

通过此过渡端可以动态取得实现了共同接口的子类实例化对象

package DesignPattern;
public class FactoryPattern {
    public static void main(String[] args) {
        Animal2 a = Factory.getinterface("Cat");
        a.say();
    }
}
interface Animal2{
    public void say();
}
class Dog2 implements Animal2 {
    @Override
    public void say() {
        System.out.println("dog 汪汪");
    }
}
class Cat2 implements Animal2 {
    @Override
    public void say() {
        System.out.println("cat 喵喵");
    }   
}
/*
 * 在接口和子类之间加入一个过渡端
 * 通过此过渡端可以动态取得实现了共同接口的子类实例化对象
 */
class Factory{
    public static Animal2 getinterface(String name) {
        Animal2 a = null;
        if (name.equals("Dog")) {
            a = new Dog2();
        }
        if (name.equals("Cat")) {
            a = new Cat2();
        }
        return a;
    }
}

你可能感兴趣的:(java类工厂设计模式——Java学习之③)