工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
优点:在编写创建者类时,不需要知道实际创建的产品是哪一个。
代码:
产品实现:
public abstract class P {
String name;
String type;
ArrayList list = new ArrayList();
void prepare() {
System.out.println("name: " + name + "type: " + type);
for (int i=0; i < list.size(); i++) {
System.out.println(" " + list.get(i));
}
}
public void work1() {
System.out.println(name + "---w1");
};
public void work2() {
System.out.println(name + "---w1");
};
public void work3() {
System.out.println(name + "---w1");
};
}
class A_1_P extends P {
public A_1_P() {
name = "A_1_P";
type = "1";
list.add("A_1_P---可以动态改变的部分");
}
}