23种设计模式-桥接模式

桥接模式是将抽象部分与它的实现部分分离,使他们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。

 

 

 

 

 示例:

  品牌接口类

package factory.bridge;
//品牌
public interface Brand {
    void info();
}

两个实现了品牌的电脑类

package factory.bridge;
//苹果品牌
public class Apple implements Brand {
    @Override
    public void info() {
        System.out.println("苹果");

    }
}
package factory.bridge;
//联想品牌
public class Lenovo implements Brand {
    @Override
    public void info() {
        System.out.println("联想");

    }
}

一个抽象的电脑类 在电脑和品牌之间创建了一个桥

package factory.bridge;
//抽象的电脑类型
public  abstract class Computer {
    //组合, 品牌    桥
    //通过组合的方式在电脑和品牌类之间搭建了一个桥
    protected Brand brand;

    public Computer(Brand brand) { //有参构造
        this.brand = brand;
    }

    public void info(){
        brand.info(); //自带品牌   电脑的信息
    }
}


class Desktop extends Computer{

    public Desktop(Brand brand) {
        super(brand);
    }

    @Override
    public void info() {
        super.info();

        System.out.println("台式机");
    }
}

class Laptop extends Computer{

    public Laptop(Brand brand) {
        super(brand);
    }

    @Override
    public void info() {
        super.info();

        System.out.println("笔记本");
    }
}

测试类

package factory.bridge;

public class Test {
    public static void main(String[] args) {
        //苹果笔记本
        Computer computer = new Laptop(new Apple());
        computer.info();
        //联想台式机
        Computer computer2 = new Desktop(new Lenovo());
        computer2.info();

    }
}

猜你喜欢

转载自www.cnblogs.com/yppaopao/p/13171332.html