抽象工厂设计模式

public interface IphoneProduct {
    void start();
    void shotdown();
    void openwife();
    void setting();

}
-----------------------------
public interface IRouterProduct {
    void start();
    void shotdown();
    void openwife();
    void setting();
}
-----------------------------
//抽象产品工厂
public interface ProductFactory {
    //生产手机
    IphoneProduct IphoneFactory();

    //生产路由器
    IRouterProduct RouterFactory();
}
-----------------------------
public class HuaWeiFactory implements ProductFactory {
    @Override
    public IphoneProduct IphoneFactory() {
        return new HuaWeiIphone();
    }

    @Override
    public IRouterProduct RouterFactory() {
        return new HuaWeiRouterProduct();
    }
}
-----------------------------
public class HuaWeiIphone implements IphoneProduct {
    @Override
    public void start() {
        System.out.println("华为开机");
    }

    @Override
    public void shotdown() {
        System.out.println("华为关机");
    }

    @Override
    public void openwife() {
        System.out.println("华为开热点");
    }

    @Override
    public void setting() {
        System.out.println("华为设置");
    }
}
-----------------------------
public class HuaWeiRouterProduct implements IRouterProduct {
    @Override
    public void start() {
        System.out.println("华为路由器开机");
    }

    @Override
    public void shotdown() {
        System.out.println("华为路由器关机");
    }

    @Override
    public void openwife() {
        System.out.println("华为路由器开热点");
    }

    @Override
    public void setting() {
        System.out.println("华为路由器设置");
    }
}
-----------------------------
public class XiaomiFactory implements ProductFactory {
    @Override
    public IphoneProduct IphoneFactory() {
        return new Xiaomoiphone();
    }

    @Override
    public IRouterProduct RouterFactory() {
        return new XiaomoRouterProduct();
    }
}
-----------------------------
public class Xiaomoiphone implements IphoneProduct {
    @Override
    public void start() {
        System.out.println("小米开机");
    }

    @Override
    public void shotdown() {
        System.out.println("小米关机");
    }

    @Override
    public void openwife() {
        System.out.println("小米开热点");
    }

    @Override
    public void setting() {
        System.out.println("小米设置");
    }
}
-----------------------------
public class XiaomoRouterProduct implements IRouterProduct {
    @Override
    public void start() {
        System.out.println("小米路由器开机");
    }

    @Override
    public void shotdown() {
        System.out.println("小米路由器关机");
    }

    @Override
    public void openwife() {
        System.out.println("小米路由器开热点");
    }

    @Override
    public void setting() {
        System.out.println("小米路由器设置");
    }
}
-----------------------------
public class Consumer {
    public static void main(String[] args) {
        System.out.println("=======================小米系列=======================");
        System.out.println("===小米手机===");
        XiaomiFactory xiaomiFactory = new XiaomiFactory();
        IphoneProduct iphoneProduct = xiaomiFactory.IphoneFactory();
        iphoneProduct.start();
        iphoneProduct.setting();
        iphoneProduct.openwife();
        iphoneProduct.shotdown();
        System.out.println("===小米路由器===");
        IRouterProduct iRouterProduct = xiaomiFactory.RouterFactory();
        iRouterProduct.start();
        iRouterProduct.setting();
        iRouterProduct.openwife();
        iRouterProduct.shotdown();
        
        System.out.println("=======================华为系列=======================");
        System.out.println("===华为手机===");
        HuaWeiFactory huaWeiFactory = new HuaWeiFactory();
        IphoneProduct iphoneProduct1 = huaWeiFactory.IphoneFactory();
        iphoneProduct1.start();
        iphoneProduct1.setting();
        iphoneProduct1.openwife();
        iphoneProduct1.shotdown();
        System.out.println("===华为路由器===");
        IRouterProduct iRouterProduct1 = huaWeiFactory.RouterFactory();
        iRouterProduct1.start();
        iRouterProduct1.setting();
        iRouterProduct1.openwife();
        iRouterProduct1.shotdown();
    }
}
-----------------------------
返回的结果
=======================小米系列=======================
===小米手机===
小米开机
小米设置
小米开热点
小米关机
===小米路由器===
小米路由器开机
小米路由器设置
小米路由器开热点
小米路由器关机
=======================华为系列=======================
===华为手机===
华为开机
华为设置
华为开热点
华为关机
===华为路由器===
华为路由器开机
华为路由器设置
华为路由器开热点
华为路由器关机
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值