当前位置: 首页 > news >正文

可以专做福特配件吗外贸网站游戏小程序开发定制

可以专做福特配件吗外贸网站,游戏小程序开发定制,怎么查企业,图片制作工具桥接模式 介绍 桥接模式是一种结构型设计模式,它通过将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过组合的方式来实现,而不是继承。桥接模式通过将抽象和实现解耦,从而实现抽象和实现的分离,使得系统更加…

桥接模式

介绍

桥接模式是一种结构型设计模式,它通过将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过组合的方式来实现,而不是继承。桥接模式通过将抽象和实现解耦,从而实现抽象和实现的分离,使得系统更加灵活。

角色

  • Abstraction(抽象类): 定义抽象类,包含一个对实现接口的引用,并定义一些抽象方法。

  • RefinedAbstraction(扩充抽象类): 对抽象类进行扩充,可以继承抽象类并实现抽象方法。

  • Implementor(实现类接口): 定义实现类的接口,可以包含一些基本的操作。

  • ConcreteImplementor(具体实现类): 实现Implementor接口的具体实现类。

使用场景

当我们要实现的系统可能存在多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。

结构图

在这里插入图片描述

案例

假设我们要设计一个远程控制器,它可以控制不同的设备,比如电视和音响。使用桥接模式可以使控制器和设备之间的关系更加灵活。

代码

// Implementor(实现类接口)
interface Device {void turnOn();void turnOff();void setChannel(int channel);
}
// ConcreteImplementor(具体实现类1)
class TV implements Device {@Overridepublic void turnOn() {System.out.println("TV is turned on");}@Overridepublic void turnOff() {System.out.println("TV is turned off");}@Overridepublic void setChannel(int channel) {System.out.println("TV channel set to " + channel);}
}
// ConcreteImplementor(具体实现类2)
class Stereo implements Device {@Overridepublic void turnOn() {System.out.println("Stereo is turned on");}@Overridepublic void turnOff() {System.out.println("Stereo is turned off");}@Overridepublic void setChannel(int channel) {System.out.println("Stereo channel set to " + channel);}
}
// Abstraction(抽象类)
abstract class RemoteControl {protected Device device;public RemoteControl(Device device) {this.device = device;}public abstract void turnOn();public abstract void turnOff();public abstract void setChannel(int channel);
}
// RefinedAbstraction(扩充抽象类)
class BasicRemoteControl extends RemoteControl {public BasicRemoteControl(Device device) {super(device);}@Overridepublic void turnOn() {System.out.print("Basic remote: ");device.turnOn();}@Overridepublic void turnOff() {System.out.print("Basic remote: ");device.turnOff();}@Overridepublic void setChannel(int channel) {System.out.print("Basic remote: ");device.setChannel(channel);}
}
// RefinedAbstraction(扩充抽象类)
class AdvancedRemoteControl extends RemoteControl {public AdvancedRemoteControl(Device device) {super(device);}@Overridepublic void turnOn() {System.out.print("Advanced remote: ");device.turnOn();}@Overridepublic void turnOff() {System.out.print("Advanced remote: ");device.turnOff();}@Overridepublic void setChannel(int channel) {System.out.print("Advanced remote: ");device.setChannel(channel);}public void mute() {System.out.println("Mute");}
}
// Client(客户端)
public class BridgePatternExample {public static void main(String[] args) {// 使用桥接模式创建远程控制器和设备的组合TV tv = new TV();Stereo stereo = new Stereo();RemoteControl basicRemote = new BasicRemoteControl(tv);RemoteControl advancedRemote = new AdvancedRemoteControl(stereo);// 使用远程控制器控制设备basicRemote.turnOn();basicRemote.setChannel(5);basicRemote.turnOff();System.out.println();advancedRemote.turnOn();advancedRemote.setChannel(10);advancedRemote.turnOff();((AdvancedRemoteControl) advancedRemote).mute();}
}
http://www.yayakq.cn/news/238782/

相关文章:

  • 重庆做网站那里好定制网站开发冬天里的白玫瑰
  • 网站建设 英文版Wordpress主题 修改 价钱
  • 受雇去建设网站类网站做网站 需要 域名 空间
  • 色弱可以做网站开发吗吴中区建设局网站
  • 嘉峪关建设局公告网站宜兴建设局质监网站
  • 金华高端网站设计建设新农村网站
  • 网站模板资源wordpress文章主题
  • 网站做sem推广时要注意什么意思微信公众号如何创建赞赏账户
  • 德州网站建设推广价格今天深圳新增确诊最新消息
  • 宁波网站搭建公司上海网站制作库榆
  • 自己做的网站如何链接到百度wordpress绑定网站
  • 狮岭做包包的网站英文网站建设980
  • 网站系统规划报告企业门户网站主要功能
  • 正定城乡建设网站php搭建网站教程
  • 个人相册网站模板如何注册申请chn网站
  • 怎么学会建自己网站的方法实体店面做网站推广要多少钱
  • 配送网站开发电费由谁承担
  • 移动网站设计教程网店推广的重要性
  • 网站建设合同范文电子商城网站的设计与实现
  • 手机如何搭建网站公司网站建设费放什么科目
  • 制作网站用什么语言如何做推广和引流
  • 做电影网站有风险吗济南网页设计师招聘
  • 网站做线支付平台系统多少钱广州比较好的广告公司有哪些
  • 素材网站会员什么叫软件外包公司
  • 温州营销网站制作费用网站是怎么做新手引导
  • 东莞建设网 东莞市住房和城乡建设局门户网站win网络服务都未运行
  • 网站内容编写方法柳州网站建设公司
  • 深圳做自适应网站公司建设部网站招标投标文件
  • 百度网站大全北京云建站模板
  • dw学校网站制作教程网站iis7.5配置