Factory Method 工廠方法模式——定義一個用於創建對象的接口,讓子類決定將哪一個類實例化。Factory Method使一個類的實例化延遲到其子類。
代碼實現:
package factory;
public class Fruit {
private String name;
private String color;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public Fruit(String name, String color) {
super();
this.name = name;
this.color = color;
}
public Fruit() {
super();
}
public void plant(){
System.out.println("種下一顆"+this.name+"樹");
}
public void grow(){
System.out.println(this.name+"樹正在成長");
}
public void growUp(){
System.out.println("長出了"+this.color+"的"+this.name);
}
}
package factory;
public interface FruitFactory {
public Fruit getFruit();
}
package factory;
public class AppleFactory implements FruitFactory{
@Override
public Fruit getFruit() {
// TODO Auto-generated method stub
return new Fruit("蘋果","紅色");
}
}
package factory;
public class Test {
public static void main(String[] args) {
//獲得工廠
FruitFactory ff=new AppleFactory();
//獲得水果
Fruit f=ff.getFruit();
f.plant();
f.grow();
f.growUp();
}
}