工厂方法--笔记四
程序员文章站
2022-03-10 15:10:01
...
使用原因
当client不知道要创建哪个具体类的实例,或不想再client代码中指明要具体创建的实例时,用工厂方法。
定义一个用于创建对象的接口,让其子类来决定实例化哪一个类,从而使一个类的实例化延迟到其子类。
示例
小A要开两个工厂做衣服,分别做短袖和长袖
衣服工厂抽象类
public abstract class ClothesFactory(){
public abstract Cloth makeClothes();
}
工厂定义了统一行为,具体类来实现具体行为
短袖实现类
public class shortSleeveFactory extends ClothesFactory{
@Override
public Cloth makeClothes(){
return new shortSleeve();
}
}
长袖实现类
public class longSleeveFactory extends ClothesFactory{
@Override
public Cloth makeClothes{
return new longSleeve();
}
}
调用代码
public class Main{
public static void main(String[] args){
//短袖
ClothesFactory short = new shortSleeveFactory();
short.makeClothes.make();
//长袖
ClothesFactory long = new longSleeveFactory();
long.makeClothes.make();