使用场景:工厂方法用于多个方法实现了一个接口的情况下。
定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。
工厂方法模式的简单实现:
1,创建抽象工厂
2,具体工厂
3,客户端调用
工厂方法一:参数法
工厂方法二:多个函数法
工厂方法三:静态方法
假定场景:现在有一个图形类的接口,下面有方法决定是计算圆面积或者是三角形面积。
参数法:
public class SumAreaFactory1{
public isShape produceRectangle(){
IsShape s=null;
s=new Rectangle();
return s;
}
public isShape produceCircle(){
IsShape s=null;
s=new Rectangle();
return s;
}
}
多个函数法:
public isShape produce Rectangle(){
IsShape s=null;
s=new Rectangle();
return s;
}
public isShape produceCircle(){
IsShape s=null;
s=new Circle();
return s;
}
静态方法:
public static isShape produceRectangle(){
IsShape s=null;
s=new Rectangle();
return s;
}
public static isShape produceCircle(){
IsShape s=null;
s=new Circle();
return s;
}