package AbstractFactory;
/**
* @author Conrad
* @since 2024/3/1 15:27
*
* <p>Description: 抽象工厂模式</p>
*/
public class AbstractFactory {
interface Phone {
void sell();
}
interface Pad {
void sell();
}
public static class XiaomiPhone implements Phone {
@Override
public void sell() {
System.out.println("成功出售一台小米手机");
}
}
public static class HuaweiPhone implements Phone {
@Override
public void sell() {
System.out.println("成功出售一台华为手机");
}
}
public static class XiaomiPad implements Pad {
@Override
public void sell() {
System.out.println("成功出售一台小米平板");
}
}
public static class HuaweiPad implements Pad {
@Override
public void sell() {
System.out.println("成功出售一台华为平板");
}
}
interface Factory {
Phone creatPhone();
Pad creatPad();
}
public static class XiaomiFactory implements Factory {
@Override
public Phone creatPhone() {
return new XiaomiPhone();
}
@Override
public Pad creatPad() {
return new XiaomiPad();
}
}
public static class HuaweiFactory implements Factory {
@Override
public Phone creatPhone() {
return new HuaweiPhone();
}
@Override
public Pad creatPad() {
return new HuaweiPad();
}
}
// 测试类
public static void main(String[] args) {
XiaomiFactory xiaomiFactory = new XiaomiFactory();
xiaomiFactory.creatPhone().sell();
xiaomiFactory.creatPad().sell();
HuaweiFactory huaweiFactory = new HuaweiFactory();
huaweiFactory.creatPhone().sell();
huaweiFactory.creatPad().sell();
}
}
抽象工厂模式
最新推荐文章于 2024-09-30 10:13:29 发布