码迷,mamicode.com
首页 > 其他好文 > 详细

23种设计模式-桥接模式

时间:2020-06-21 09:57:14      阅读:47      评论:0      收藏:0      [点我收藏+]

标签:inf   ext   imp   rac   苹果   oid   信息   out   对象   

桥接模式是将抽象部分与它的实现部分分离,使他们都可以独立地变化。它是一种对象结构型模式,又称为柄体(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();

    }
}

 

23种设计模式-桥接模式

标签:inf   ext   imp   rac   苹果   oid   信息   out   对象   

原文地址:https://www.cnblogs.com/yppaopao/p/13171332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!