抽象工厂
public abstract class AbstractElectricityFactory {
public abstract AbstractTelevision createTelevision();
public abstract AbstractFridge createFridge();
}
具体工厂海尔
public class HaierFactory extends AbstractElectricityFactory{
@Override
public AbstractTelevision createTelevision() {
return new HaierTelevision();
}
@Override
public AbstractFridge createFridge() {
return new HaierFridge();
}
}
具体工厂海信
public class HisenseFactory extends AbstractElectricityFactory{
@Override
public AbstractTelevision createTelevision() {
return new HisenseTelevision();
}
@Override
public AbstractFridge createFridge() {
return new HisenseFridge();
}
}
抽象产品电视机
public abstract class AbstractTelevision {
public abstract void createTelevision();
}
抽象产品冰箱
public abstract class AbstractFridge {
public abstract void createFridge();
}
具体产品海尔电视机
public class HaierTelevision extends AbstractTelevision {
@Override
public void createTelevision() {
System.out.println(“创建了一台Haier电视机”);
}
}
具体产品海尔冰箱
public class HaierFridge extends AbstractFridge{
@Override
public void createFridge() {
System.out.println("创建了一台Haier冰箱");
}
}
具体产品海信电视机
public class HisenseTelevision extends AbstractTelevision{
@Override
public void createTelevision() {
System.out.println("创建了一台Hisense电视机");
}
}
具体产品海信冰箱
public class HisenseFridge extends AbstractFridge{
@Override
public void createFridge() {
System.out.println("创建了一台Hisense冰箱");
}
}
用户客户端
public class Customer {
public static void main(String[] args) {
AbstractElectricityFactory haierFactory = new HaierFactory();
haierFactory.createFridge().createFridge();
haierFactory.createTelevision().createTelevision();
AbstractElectricityFactory hisenseFactory = new HisenseFactory();
hisenseFactory.createFridge().createFridge();
hisenseFactory.createTelevision().createTelevision();
}
}