黑马程序员技术交流社区

标题: JAVA工厂设计模式之抽象工厂 [打印本页]

作者: null_null_null    时间: 2019-8-8 14:26
标题: JAVA工厂设计模式之抽象工厂
抽象工厂:抽象工厂是在工厂方法的基础上引进了分类管理的概念。工厂方法用来创建一个产品,它没有分类的概念,而抽象工厂则用于创建一系列产品,所以产品分类成了抽象工厂的重点。
//分别定义两个产品接口,以对他们进行分类
//洗衣机接口
public interface Washer{}
//冰箱接口
public interface Icebox{}
//分别创建这两个接口的具体产品
//洗衣机-A
public class WasherA implements Washer{
   public WasherA(){
       System.out.println("洗衣机-A被制造了");
   }
}

//洗衣机-B
public class WasherB implements Washer{
   public WasherB(){
       System.out.println("洗衣机-B被制造了");
   }
}

//冰箱-A
public class IceboxA implements Icebox{
   public IceboxA(){
       System.out.println("冰箱-A被制造了");
   }
}

//冰箱-B
public class IceboxB implements Icebox{
   public IceboxB(){
       System.out.println("冰箱-B被制造了");
   }
}

//定义工厂接口
public interface Factory{
       public Washer createWasher();
       public Icebox createIcebox();
}

//创造具体的工厂类
//创建型号为A的产品工厂
public class FactoryA implements Factory{
       //创建洗衣机-A
       public Washer createWasher(){
            return new WasherA();
       }

       //创建冰箱-A
       public Icebox createIcebox(){
            return new IceboxA();
       }
}

//创建型号为B的产品工厂
public class FactoryB implements Factory{
       //创建洗衣机-B
       public Washer createWasher(){
            return new WasherB();
       }

       //创建冰箱-B
       public Icebox createIcebox(){
            return new IceboxB();
       }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2