桥接模式Bridge

目录

1.核心本质

2.代码

2.1 品牌约束

2.2 小米,华为品牌

2.3 耳机抽象类

2.4 有线耳机,无线耳机类

2.5 测试类


1.核心本质

将抽象部分与实现部分分离,使它们可以独立变化。

例子:小米有线耳机,首先有线耳机继承于耳机,其次小米有线耳机继承于有线耳机。当我们需要新增一个无线耳机或者品牌,就需要重新写一套继承关系。

桥接模式:将品牌和耳机单独提出来,只需后期组合就ok。

2.代码

2.1 品牌约束

/**
 * 品牌
 */
public interface Brand {

    void brandInfo();
}

2.2 小米,华为品牌

public class MI implements Brand {
    @Override
    public void brandInfo() {
          System.out.println("小米品牌");
    }
}

public class HuaWei implements Brand{
    @Override
    public void brandInfo() {
          System.out.println("华为品牌");
    }
}

2.3 耳机抽象类

public class EarPhones {

    protected Brand shape;

    public EarPhones(Brand shape) {
        this.shape = shape;
        shape.brandInfo();
    }
    public void info() {
        shape.brandInfo();
    }
}

2.4 有线耳机,无线耳机类

public class Wire extends EarPhones{
    public Wire(Brand shape) {
        super(shape);
    }

    @Override
    public void info() {
        System.out.println("耳机类型:有线耳机");
    }
}

public class NoWire extends EarPhones{
    public NoWire(Brand shape) {
        super(shape);
    }

    @Override
    public void info() {
        System.out.println("耳机类型:无线耳机");
    }
}

2.5 测试类

public class Test {
    public static void main(String[] args) {
        Wire wire = new Wire(new MI());
        wire.info();
    }
}

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值