在接口和子类之间加入一个过渡端
通过此过渡端可以动态取得实现了共同接口的子类实例化对象
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;
}
}