认识
工厂方法模式解决的是,不像简单工厂似的,要增加产品必须改工厂类的代码。实现思路是,1.抽象工厂类、2.抽象产品类、3.具体工厂类(继承抽象工厂类)、4.具体产品类(继承抽象产品类)、5.外界调用。
实现
1.抽象工厂类
//创建抽象工厂类
abstract class Factory {
public abstract Product Manufacture();
}
2.抽象产品类
//创建抽象产品类
abstract class Product {
public abstract void Show();
}
3.具体产品类
//创建具体产品A类
class ProductA extends Product{
@Override
public void Show() {
System.out.println("生产出了产品A");
}
}
//创建具体产品B类
class ProductB extends Product{
@Override
public void Show() {
System.out.println("生产出了产品B");
}
}
4.具体工厂类
//创建具体工厂类
//工厂A类 - 生产A类产品
class FactoryA extends Factory{
@Override
public Product Manufacture() {
return new ProductA();
}
}
//工厂B类 - 生产B类产品
class FactoryB extends Factory {
@Override
public Product Manufacture() {
return new ProductB();
}
}
5.外界调用
public class Pattern {
public static void main(String[] args) {
//客户要产品A
FactoryA mFactoryA = new FactoryA();
mFactoryA.Creation().Show();
//客户要产品B
FactoryB mFactoryB = new FactoryB();
mFactoryB.Creation().Show();
}
}
生产出了产品A
生产出了产品B