java结构型设计模式——桥接模式
来源:互联网 发布:江歌 刘鑫 知乎 编辑:程序博客网 时间:2024/05/22 11:55
1、模式理解:桥接模式,那么桥接什么呢,可以把桥接理解为连接,连接两个对象,那么两个对象怎么才能连接上呢,至少要让两个对象存在点关系吧,比方两个人谈恋爱,从得有些关系才好下手吧,总不能大马路上拉个人就跟她说我们谈恋爱吧,这不找抽吗
2、运用场景:想让对象建存在关系,就可以使用桥接模式,桥接模式也是丰富一个对象的过程,因为连接的多了就成了一个体系
3、代码示例:可以参考:https://www.cnblogs.com/V1haoge/p/6497919.html
//先创建一个产品接口public interface Product {void show();}
//这个产品接口由下面两个产品实现public class Moniter implements Product{ public void show(){ System.out.println("我是电脑显示器"); }}public class Host implements Product{ public void show(){ System.out.println("我是电脑主机"); }}
//这两个对象可以组装为一台简易的电脑,所以可以使用桥接模式,使其跟具体的电脑产生关系,先创建一个抽象的电脑类public abstract class Computer { public List<Product> product;//电脑由很多其他类型的产品构成 public Computer(List<Product> product){ this.product=product; } abstract void getShow();}
//接着写具体的电脑电脑类,这个类跟前面两个类可以通过这个抽象的电脑类作为桥梁产出联系public class ThinkPadComputer extends Computer{ public ThinkPadComputer(List<Product> product) { super(product);//这样创建具体电脑对象的时候就可以把相应的产品赋值给抽象电脑类中的产品参数 } public void getShow(){ System.out.println("我是TinkPad电脑:"); for (Product p : product) {//因为抽象的时候赋值给了父级,而且父级是public,所以子类可以直接拿来用,似不似很方便 p.show(); } }}
//最后写个测试类public class Main { public static void main(String[] args) { List<Product> list=new ArrayList<>(); list.add(new Moniter()); list.add(new Host()); ThinkPadComputer tpComputer=new ThinkPadComputer(list);//把产品都组装起来形成具体电脑 tpComputer.getShow(); }}
阅读全文
0 0
- java结构型设计模式——桥接模式
- Java设计模式——结构型
- Java设计模式——结构型
- java设计模式——结构型之桥接模式
- JAVA设计模式(10) —<结构型>桥接模式(Bridge)
- java设计模式(结构型)之桥接模式
- Java设计模式(10)结构型:桥接模式
- Java设计模式_(结构型)_桥接模式
- java设计模式——结构型之适配器模式
- java设计模式——结构型之组合模式
- java设计模式——结构型之装饰模式
- java设计模式——结构型之门面模式
- java设计模式——结构型之代理模式
- java结构型设计模式——适配器模式
- java结构型设计模式——过滤器模式
- java结构型设计模式——组合模式
- java结构型设计模式——代理模式
- java结构型设计模式——外观模式
- 搭建Git服务器
- more than one device and emulator错误
- 周志华《Machine Learning》学习笔记(17)--强化学习
- 用最简单的过程讲述RNNs与LSTM的故事
- Android简易的自动更新(通知栏+系统下载),包含7.0系统解析安装包失败的处理
- java结构型设计模式——桥接模式
- TV Input Framework --Android官方说明
- 树莓派开端,开发环境配置
- 相隔、相差几天--算法
- Eccharts中自定义图表的绘制要点
- JMeter和JMeterPlugin的下载安装
- qiu969217118开通了他的C博客
- Django修改models
- 第十一周LeetCode算法题两道