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

42区 网站开发指南关键词分类

42区 网站开发指南,关键词分类,深圳做网站专业公司,网站建设制作设计seo优化山东桥接模式 介绍 桥接模式是一种结构型设计模式,它通过将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过组合的方式来实现,而不是继承。桥接模式通过将抽象和实现解耦,从而实现抽象和实现的分离,使得系统更加…

桥接模式

介绍

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

角色

  • 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.dinnco.com/news/39802.html

相关文章:

  • 网站建设的成功之处有哪些上海网站营销推广
  • 上海简约网站建设公司宁波品牌网站推广优化
  • 手机网站建设服务器品牌策划的五个步骤
  • 为什么做pc网站南宁百度关键词优化
  • 怎么做qq靓号网站今日国内重大新闻
  • 做it的网站站长工具seo综合
  • 视频网站做app手机搜索引擎排名
  • 企业网站搭建费用网络营销经典案例
  • 企业网站的建立网络营销成功案例ppt
  • 可以做任务的网站有哪些内容沐浴露营销软文
  • 电子商务网站建设与管理课后题答案6西安互联网推广公司
  • 做网站提成yw77731域名查询
  • 站酷网址是什么网络营销专业学什么课程
  • 网站建设与维护的案例襄阳seo推广
  • 深圳做宣传网站的公司宁波seo排名优化价格
  • 网站怎么设置为可信任网站建站系统主要包括
  • 怎样免费建立网站中国经济网人事
  • 深圳做网站的公司哪家好免费推广软件
  • 合肥做网站工作室关键词推广计划
  • 空间主机 建网站搜狗搜索引擎入口
  • 网站防止挂马应该怎么做电子商务seo是什么意思
  • 网站建设图片手机现在推广一般都用什么软件
  • 网站配置域名这样做长沙seo优化首选
  • 企业管理软件的发展趋势seo怎么提升关键词的排名
  • 嘉兴信息网站网络营销与传统营销有哪些区别
  • 香港公司谷歌seo博客
  • 免费下载网站有哪些百度打车客服电话
  • 国内优秀企业网站windows优化大师如何卸载
  • 滕州做网站百度收录查询接口
  • 从哪里可以建公司网站适合seo的建站系统