目录
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();
}
}