为了账号安全,请及时绑定邮箱和手机立即绑定

设计模式--工厂模式--抽象工厂模式

标签:
Java 设计
工厂模式有2种:工厂方法模式、抽象工厂模式 
    *工厂方法模式:一个产品系列 
    *抽象工厂模式:一个产品族(包含多个系列)

2.抽象工厂模式的实现:以华为系列手机为例

 - 定义接口(青春版)
    public interface YoungInterface {
        public void drawYoung();
    }
 - 定义接口(标配版)
    public interface StandardInterface {
        public void drawStandard();
    }
 - P9实现(青春版)接口
    public class P9Young implements YoungInterface {
        @Override
        public void drawYoung(){
            System.out.println(-----------------P9青春版-----------------);
        }
    }
 - P8实现(青春版)接口
    public class P8Young implements YoungInterface {
        @Override
        public void drawYoung(){
            System.out.println(-----------------P8青春版-----------------);
        }
    }
 - P9实现(标配版)接口
    public class P9Standard implements StandardInterface {
        @Override
        public void drawStandard(){
            System.out.println(-----------------P9标配版-----------------);
        }
    }
 - P8实现(标配版)接口
    public class P8Standard implements StandardInterface {
        @Override
        public void drawStandard(){
            System.out.println(-----------------P8标配版-----------------);
        }
    }
 - 定义(手机工厂)接口:获取青春版、标配版
    public interface MoblieFactory {
        public YoungInterface getYoung();
        public StandardInterface getStandard();
    }
 - 定义P8工厂类,继承(手机工厂)接口,获取P8系列的青春版、标配版
    public class P8Factory implements MoblieFactory {
        @Override
        public YoungInterface getYoung(){
            return new  P8Young();
        }
        @Override
        public StandardInterface getStandard(){
            return new P8Standard();
        }
    }
 - 定义P9工厂类,继承(手机工厂)接口,获取P9系列的青春版、标配版
    public class P9Factory implements MoblieFactory {
        @Override
        public YoungInterface getYoung(){
            return new  P9Young();
        }
        @Override
        public StandardInterface getStandard(){
            return new P9Standard();
        }
    }

 - 测试类
    public class Test {
        MoblieFactory p9_factory = new P9Factory();
        P9Young p9_young = p9_factory.getYoung();
        p9_young.drawYoung();
    }
 - 测试结果
-----------------P9青春版-----------------

总结:抽象工厂模式,实际是一个产品族,拥有多个产品系列。通过接口的继承以及实现,将单独的产品系列整合成一个产品族。

点击查看更多内容
10人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消