描述:一个具体工厂负责生产一种产品
角色:
抽象产品(Product):具体产品的父类,描述具体产品的公共接口
具体产品(Concrete Product):描述生产的具体产品
抽象工厂(Creator):具体工厂的父类,描述具体工厂的公共接口
具体工厂(Concrete Creator):实现工厂方法创建产品的实例
//抽象工厂类
abstract class Factory{
public abstract Product Manufacture();
}
//抽象产品类
abstract class Product{
public abstract void Show();
}
//具体产品类
//具体产品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");
}
}
//具体工厂类
//工厂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();
}
}