去吧!设计模式之桥接模式

作者: e4e52c116681 | 来源:发表于2018-08-25 09:20 被阅读1次

    零、前言:将抽象化与实现化脱耦,使得二者独立的变化

    桥接模式的介绍什么的就免了(我懒),程序员间还是用图和代码交流吧
    代码中有些命名使用了汉字,还请见谅,毕竟设计模式还是易读得好些

    一图镇楼
    桥接模式.png

    一、代码实现

    1、桥接模式UML
    桥接模式UML.png
    2、卡片抽象类
    /**
     * 作者:张风捷特烈
     * 时间:2018/8/25 0025:8:18
     * 邮箱:1981462002@qq.com
     * 说明:卡片抽象类
     */
    public abstract class Card {
        protected Material mMaterial;
    
        public void setMaterial(Material material) {
            mMaterial = material;
        }
    
        public abstract void play();
    }
    
    3、扑克牌
    public class 扑克牌 extends Card {
    
        public 扑克牌() {
            play();
        }
    
        @Override
        public void play() {
            System.out.println("扑克牌:我就剩一张牌了");
        }
    }
    
    
    4、游戏王卡片
    public class 游戏王卡 extends Card {
        public 游戏王卡() {
            play();
        }
    
        @Override
        public void play() {
            System.out.println("游戏王卡:我的回合,抽牌");
        }
    }
    
    5、炉石卡
    public class 炉石卡 extends Card {
    
        public 炉石卡() {
            play();
        }
    
        @Override
        public void play() {
            System.out.println("炉石卡:为了正义");
        }
    }
    
    6、材质接口
    public  abstract class Material {
        public abstract void cover();
    }
    
    7、金材质
    public class 金 extends Material {
    
        public 金() {
            cover();
        }
    
        @Override
        public void cover() {
            System.out.println("卡片升级--->金卡");
        }
    }
    
    8、银材质
    public class 银 extends Material {
        public 银() {
            cover();
        }
    
        @Override
        public void cover() {
            System.out.println("卡片升级--->银卡");
        }
    }
    
    9、测试类
    public class Player {
        public static void main(String[] args) {
            游戏王卡 混沌战士 = new 游戏王卡();
            混沌战士.setMaterial(new 银());
    
            炉石卡 乌瑟尔 = new 炉石卡();
            乌瑟尔.setMaterial(new 金());
        }
    }
    
    10、测试结果
    游戏王卡:我的回合,抽牌
    卡片升级--->银卡
    炉石卡:为了正义
    卡片升级--->金卡
    

    本文由张风捷特烈原创,转载请注明

    相关文章

      网友评论

        本文标题:去吧!设计模式之桥接模式

        本文链接:https://www.haomeiwen.com/subject/cipwiftx.html