A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

抽象工厂:抽象工厂是在工厂方法的基础上引进了分类管理的概念。工厂方法用来创建一个产品,它没有分类的概念,而抽象工厂则用于创建一系列产品,所以产品分类成了抽象工厂的重点。
//分别定义两个产品接口,以对他们进行分类
//洗衣机接口
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();
       }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马