关于抽象工厂模式的具体讲解请看笔者博客
第二部分 创建型设计模式 第3章 抽象工厂模式(A:C++实现)
此文是“抽象工厂模式”的Java实现。
步骤一:创建抽象产品
创建产品A。
package com;
public interface ProductA {
public void show();
}
创建产品B。
package com;
public interface ProductB {
public void show();
}
步骤二:实现具体产品
实现产品A。
package com;
public class ProductA1 implements ProductA{
public void show()
{
System.out.println("I'm ProductA1");
}
}
package com;
public class ProductA2 implements ProductA{
public void show()
{
System.out.println("I'm ProductA2");
}
}
实现产品B。
package com;
public class ProductB1 implements ProductB{
public void show()
{
System.out.println("I'm ProductB1");
}
}
package com;
public class ProductB2 implements ProductB{
public void show()
{
System.out.println("I'm ProductB2");
}
}
步骤三:创建抽像工厂
package com;
public interface Factory {
public ProductA CreateProductA();
public ProductB CreateProductB();
}
步骤四:实现具体工厂
实现工厂1。
package com;
public class Factory1 implements Factory{
public ProductA CreateProductA()
{
return new ProductA1();
}
public ProductB CreateProductB()
{
return new ProductB1();
}
}
实现工厂1。
package com;
public class Factory2 implements Factory{
public ProductA CreateProductA()
{
return new ProductA2();
}
public ProductB CreateProductB()
{
return new ProductB2();
}
}
步骤五:测试
package com;
public class Main {
public static void main(String[] args) {
Factory factoryObj1 = new Factory1();
ProductA productObjA1 = factoryObj1.CreateProductA();
ProductB productObjB1 = factoryObj1.CreateProductB();
productObjA1.show();
productObjB1.show();
Factory factoryObj2 = new Factory2();
ProductA productObjA2 = factoryObj2.CreateProductA();
ProductB productObjB2 = factoryObj2.CreateProductB();
productObjA2.show();
productObjB2.show();
}
}
好了,关于抽象工厂模式的java实现笔者就到此为止了,感谢大家的支持。