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

期刊网站源码昌邑网站建设公司

期刊网站源码,昌邑网站建设公司,seo接单一个月能赚多少钱,阳泉市建设局网站文章目录 基本介绍一、类的适配器二、对象适配器三、接口适配器总结 基本介绍 生活中有很多例子#xff1a; 不同国家的插座接口不同#xff0c;需要转换器#xff1b;家用电源220V#xff0c;手机只接受5V充电#xff0c;需要转换器#xff1b;读卡器#xff0c;拓展… 文章目录 基本介绍一、类的适配器二、对象适配器三、接口适配器总结 基本介绍 生活中有很多例子 不同国家的插座接口不同需要转换器家用电源220V手机只接受5V充电需要转换器读卡器拓展坞。。。 定义 ​ 适配器模式的主要作用是将一个类的接口转换成客户希望的另外一个接口使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 ​ 适配器模式分为类适配器模式和对象适配器模式前者类之间的耦合度比后者高且要求程序员了解现有组件库中的相关组件的内部结构所以应用相对较少些。 结构 适配器模式Adapter包含以下主要角色 目标Target接口 当前系统业务所期待的接口它可以是抽象类或接口适配者Adaptee类 它是被访问和适配的现存组件库中的组件接口适配器Adapter类 它是一个转换器通过继承或引用适配者的对象把适配者接口转换成目标接口让客户按目标接口的格式访问适配者。 一、类的适配器 实现方式定义一个适配器类来实现当前系统的业务接口同时又继承现有组件库中已经存在的组件。 【例】手机充电器 家用电源220V手机只接受5V充电要想给手机充电我们得需要一个转换器。 家用电源【适配者类】 public class Voltage220V {public Integer output22V() {return 220;} }目标接口 //充电器接口 public interface IVoltage5V {Integer output5V(); }//给个实现类 public class Voltage5V implements IVoltage5V {Overridepublic Integer output5V() {return 5;} }适配器类 public class VoltageAdapter extends Voltage220V implements IVoltage5V {Overridepublic Integer output5V() {return 5;} }手机类 public class Phone {public void charging(IVoltage5V iVoltage5V) {if(iVoltage5V.output5V() 5) {System.out.println(电压5V, 正在充电。。。);} else {System.out.println(只能使用5V电压充电。。。);}} }测试 public class Client {public static void main(String[] args) {Phone phone new Phone();System.out.println(直接使用5V电源充电);phone.charging(new Voltage5V());System.out.println(使用类适配器充电);phone.charging(new VoltageAdapter());} }小结 Java 是单继承机制所以类适配器需要继承src一个缺点因为这要求dst必须是接口有一定局限性src类的方法在 Adapter 中都会暴露出来也增加了使用的成本由于其继承了 src 类所以它可以根据需求重写 src 类的方法使得 Adapter 的灵活性增强了。 二、对象适配器 对象适配器模式可釆用将现有组件库中已经实现的组件引入适配器类中该类同时实现当前系统的业务接口基本思路和类的适配器模式相同只是将 Adapter 类作修改不是继承 src 类而是持有 src 类的实例以解兼容性的问题。 即:持有 src 类实现 dst 类接口完成 src - dst 的适配根据“合成复用原则”在系统中尽量使用关联关系(聚合)来替代继承关系对象适配器模式是适配器模式常用的一种。 使用对象适配器将上述案例做以修改后UML类图为 家用电源【适配者类】 public class Voltage220V {public Integer output220V() {return 220;} }目标接口 public interface IVoltage5V {Integer output5V(); }public class Voltage5V implements IVoltage5V {Overridepublic Integer output5V() {return 5;} }适配器类 public class VoltageAdapter implements IVoltage5V {private Voltage220V voltage220V;public VoltageAdapter(Voltage220V voltage220V) {this.voltage220V voltage220V;}Overridepublic Integer output5V() {//适配规则Integer v220 voltage220V.output220V();return v220 / 44;} }public class Phone {public void charging(IVoltage5V iVoltage5V) {System.out.println(正在充电, 电压 iVoltage5V.output5V() V);} }测试 public class Demo2 {public static void main(String[] args) {Phone phone new Phone();System.out.println(直接使用5V电源充电);phone.charging(new Voltage5V());System.out.println(使用对象适配器充电);phone.charging(new VoltageAdapter(new Voltage220V()));} }对象适配器和类适配器其实算是同一种思想只不过实现方式不同。根据合成复用原则使用组合替代继承所以它解决了类适配器必须继承src的局限性问题也不再要求 dst必须是接口使用成本更低更灵活。 三、接口适配器 适配器又叫缺省适配器模式核心思路:当不需要全部实现接口提供的方法时可先设计一个抽象类实现接口并为该接口中每个方法提供一个默认实现(空方法)那么该抽象类的子类可有选择地覆盖父类的某些方法来实现需求适用于一个接口不想使用其所有的方法的情况。 总结 结构 类适配器以类给到适配器在 Adapter 里就是将 src 当做类继承对象适配器以对象给到适配器在 Adapter 里将 src 作为一个对象持有接口适配器以接口给到适配器在 Adapter 里将 src 作为一个接口实现。 优点 适配器模式最大的作用还是将原本不兼容的接口融合在一起工作 将目标类和适配者类解耦通过引入一个适配器类来重用现有的适配者类无须修改原有结构 增加了类的透明性和复用性将具体的业务实现过程封装在适配者类中对于客户端类而言是透明的而且提高了适配者的复用性同一个适配者类可以在多个不同的系统中复用 灵活性和扩展性都非常好通过使用配置文件可以很方便地更换适配器也可以在不修改原有代码的基础上增加新的适配器类完全符合“开闭原则” 对象适配器避免了但继承的缺点可以把多个不同的适配者适配到同一个目标。
http://www.pierceye.com/news/733848/

相关文章:

  • 青岛网站建设运营网络程序
  • 哈铁工程建设公司网站可做推广的网站
  • 建湖做网站哪家最好计算机网络中小型企业网络设计方案
  • 如何用 python 做网站网站后台seo优化如何做
  • 网站搭建徐州百度网络c2c平台是洗钱吗
  • 二级域名站群微信上浏览自己做的网站吗
  • 十堰微网站建设费用ps做网站尺寸
  • 网站后台制作用的软件电子商务网站推广案例
  • 汽车低价网站建设wordpress怎么搜索中文主题
  • 温江建设局备案网站高品质外贸网站建设
  • 营销网站制作哪家好洛阳外贸网站推广
  • 手机网站与app广州番禺区美食攻略
  • 做ug图纸的网站网站建设企业站
  • 网站文章多久才收录合作社网站建设
  • 福建泉州网站建设做网站网页的成本
  • 武威网站制作公司服务电话网站怎么做微信登录
  • 网站换空间 seo备案号怎么放到网站
  • 卡易售网站建设信息流投放平台
  • 装修设计公司网站有哪些5g国产天天5g天天
  • 网站内容管理校园网站建设报价
  • 哪个网站系统做的好网站设计原则的第三要素
  • 老区建设网站亚马逊市场营销案例分析
  • 固原建设厅官方网站智慧树网站的章节题做不了
  • 网站建设人才logo设计在线
  • 在网站上做广告教育网站平面设计
  • 中文html网站模板下载做健康类网站怎么备案
  • 何为响应式网站建设公司网站的步骤
  • 网站有哪些分类网游开发公司
  • 织梦网站做瀑布流方便建设网站平台的建议
  • 网站建设实验报告阿里云搭建个人博客wordpress