java 设计模式之抽象工厂模式

这里写图片描述
这里写图片描述

抽象工厂
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();
}

}

猜你喜欢

转载自blog.csdn.net/qdliukai/article/details/80019038