《设计模式》第二部分 创建型设计模式 第3章 抽象工厂模式(B:Java++实现)

159 阅读1分钟

关于抽象工厂模式的具体讲解请看笔者博客

第二部分 创建型设计模式 第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实现笔者就到此为止了,感谢大家的支持。