栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

大话设计模式-桥接模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大话设计模式-桥接模式

使用场景:桥接模式的核心意图就是将这些实现独立出来,让它们各自地变化。这就使得每种实现的变化不会影响其他实现,从而达到应对变化的目的。

多用聚合,少用继承

1. 手机软件抽象类、通讯录类、游戏类

package com.hj.designPattern.structural.bridge;


public abstract class Software {
    public abstract void softrun();
}


package com.hj.designPattern.structural.bridge;


public class GameSoft extends Software{
    @Override
    public void softrun() {
        System.out.println("游戏软件运行");
    }
}


package com.hj.designPattern.structural.bridge;


public class AddresSoft extends Software{
    @Override
    public void softrun() {
        System.out.println("通讯录软件运行");
    }
}

2. 手机品牌类、华为类、小米类

package com.hj.designPattern.structural.bridge;


public class PhoneBrand {
    protected Software software;

    PhoneBrand(Software software){
        this.software = software;
    }
    public void run() {
        software.softrun();
    }
}


package com.hj.designPattern.structural.bridge;


public class Huawei extends PhoneBrand{
    Huawei(Software software) {
        super(software);
    }

    @Override
    public void run() {
        System.out.print("华为");
        super.run();
    }
}


package com.hj.designPattern.structural.bridge;


public class Xiaomi extends PhoneBrand{
    Xiaomi(Software software) {
        super(software);
    }

    public void run(){
        System.out.print("小米");
        super.run();
    }
}

3. 测试类

package com.hj.designPattern.structural.bridge;


public class BridgeTest {
    public static void main(String[] args) {
        AddresSoft addresSoft = new AddresSoft();
        GameSoft gameSoft = new GameSoft();

        Huawei huaweiAddress = new Huawei(addresSoft);
        huaweiAddress.run();
        Huawei huaweiGame = new Huawei(gameSoft);
        huaweiGame.run();

        Xiaomi xiaomiAddress = new Xiaomi(addresSoft);
        xiaomiAddress.run();
        Xiaomi xiaomiGame = new Xiaomi(gameSoft);
        xiaomiGame.run();

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/956090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号