《设计模式》第二部分 创建型设计模式 第5章 工厂方法模式(B:Java实现)

140 阅读1分钟

关于“工厂方法模式”的具体讲解请看笔者博客

《设计模式》第二部分 创建型设计模式 第5章 工厂方法模式(A:C++实现)

此文是“工厂方法模式”的Java实现。

步骤一:抽象产品

package com;

public interface Product {

	public void show();
}

步骤二:具体产品

package com;

public class ConcreteProduct1 implements Product{

	public void show()
	{
		System.out.println("I'm ConcreteProduct1");
	}
}

package com;

public class ConcreteProduct2 implements Product{

	public void show()
	{
		System.out.println("I'm ConcreteProduct2");
	}
}

步骤三:抽象工厂

package com;

public interface Creator {

	public Product CreateProduct();
}

步骤四:具体工厂

package com;

public class ConcreteCreator1 implements Creator{

	@Override
	public Product CreateProduct() {
		
		return new ConcreteProduct1();
	}

}
package com;

public class ConcreteCreator2 implements Creator{

	@Override
	public Product CreateProduct() {
		
		return new ConcreteProduct2();
	}

}

步骤五:测试

package com;

public class Main {

	public static void main(String[] args) {

		Creator factoryA = new ConcreteCreator1 ();
	    Product productA = factoryA.CreateProduct();
	    productA.show();

	    Creator factoryB = new ConcreteCreator2 ();
	    Product productB = factoryB.CreateProduct();
	    productB.show();

	}
}

结果如下所示:
在这里插入图片描述