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

湖南seo网站策划wordpress 文章打不开

湖南seo网站策划,wordpress 文章打不开,浏览器直接进入网站,自助建站网站程序源码设计模式--适配器模式 Adapter Pattern适配器模式 Adapter Pattern1.1 基本介绍1.2 工作原理类适配器模式对象适配器模式接口适配器模式小结适配器模式 Adapter Pattern 1.1 基本介绍 #xff08;1#xff09;适配器模式将某个类的接口转换成为客户端期望的另一个接口表示1适配器模式将某个类的接口转换成为客户端期望的另一个接口表示主要的目的是兼容性让原本应接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器Wrapper. 2适配器模式属于结构型模式 3主要分为三类类适配器模式、对象适配器模式、接口适配器模式 1.2 工作原理 适配器模式将一个类的接口转换成为另一种接口让原本接口不兼容的类可以兼容。从用户的角度看不到被适配者是解耦的。用户调用适配器转换出来的目标接口方法适配器再调用被适配者的相关接口方法。用户收到反馈结果感觉只是和目标接口交互。 类适配器模式 例子电脑的电源适配器将家庭用电电压220伏特转换为5伏特,然后给电脑供电。 被适配者类 package com.robin.adapter.classAdapter;// 被适配者类 public class Voltage220V {public int outPut220V(){int srcV 220;System.out.println([初始-家庭家用电压]电源电压:srcV伏特);return srcV;} } 适配接口 package com.robin.adapter.classAdapter;// 适配接口 public interface ICpVoltage5V {public int outPut(); } 电脑类 package com.robin.adapter.classAdapter;public class Computer {public void charge(ICpVoltage5V iCpVoltage5V){int i iCpVoltage5V.outPut();if (i5){System.out.println([电源适配器]电压为5伏特可以开始充电使用了);}else{System.out.println([电源适配器]电压不正常请检查或者更换电源适配器);}} } 适配器类 package com.robin.adapter.classAdapter;// 适配器类 public class CpVoltageAdapter extends Voltage220V implements ICpVoltage5V{Overridepublic int outPut() {// 因为是继承关系所以调用其父类的 电源电压输出int src outPut220V();// 对220V电压进行简单转换int dest src/44;return dest;} } 测试客户端类 package com.robin.adapter.classAdapter;public class Client {public static void main(String[] args) {Computer computer new Computer();// 通过传入其适配器类的对象来进行充电computer.charge(new CpVoltageAdapter());// [电源适配器]电压为5伏特可以开始充电使用了} } 类适配器模式的优点和缺点 缺点Java是单继承但再类适配器模式中适配器类需要继承被适配的类失去了灵活性。并且被适配者类的方法都会在适配器类中暴露出来增加了使用的成本。优点因为适配器类继承了被适配者类所以适配器类可以根据需求灵活的重写被适配者类。 对象适配器模式 对象适配器模式针对上面的类适配器模式进行了一些修改通过合成复用来代替原本的继承关系。 tip:对象适配器模式是适配器模式中常用的一种。 例子还是上面的电脑电源的适配器问题进行修改将其改为对象适配器模式的。 我们只需要将适配器类中取消继承被适配的类然后在适配器类中提供一个被适配类的成员变量及构造器即可。 被适配者类 package com.robin.adapter.objectAdapter;// 被适配者类 public class Voltage220V {public int outPut220V(){int srcV 220;System.out.println([初始-家庭家用电压]电源电压:srcV伏特);return srcV;} } 适配接口 package com.robin.adapter.objectAdapter;// 适配接口 public interface ICpVoltage5V {public int outPut(); } 电脑类 package com.robin.adapter.objectAdapter;public class Computer {public void charge(ICpVoltage5V iCpVoltage5V){int i iCpVoltage5V.outPut();if (i5){System.out.println([电源适配器]电压为5伏特可以开始充电使用了);}else{System.out.println([电源适配器]电压不正常请检查更换电源适配器);}} } 适配器类 package com.robin.adapter.objectAdapter;// 适配器类 public class CpVoltageAdapter implements ICpVoltage5V {// 合成复用 将被适配类聚合到适配器类中private Voltage220V voltage220V null;// 提供被适配类的构造器public CpVoltageAdapter(Voltage220V voltage220V) {this.voltage220V voltage220V;}// 重写适配接口中的方法Overridepublic int outPut() {if (null ! voltage220V){int srcV voltage220V.outPut220V();int dstV srcV/44;System.out.println(电源电压适配完成,电源电压dstV);return dstV;}return -1;} } 客户端测试类 package com.robin.adapter.objectAdapter;public class Client {public static void main(String[] args) {System.out.println(对象适配器模式);Computer computer new Computer();computer.charge(new CpVoltageAdapter(new Voltage220V()));} } 对象适配器模式与类适配器模式基本一致只是通过合成复用代替继承解决了类适配器产生的继承局限问题使用成本更低更灵活。 接口适配器模式 接口适配器模式的思想当不需要全部实现接口提供的方法时可以先设计一个抽象类实现接口并为该接口中的每个方法提供一个默认实现空方法体那么该抽象类的子类可以有选择的覆盖父类的某些方法来实现需求。 接口适配器模式适用于不想使用一个适配接口中所有方法的情况按照自己的需求来挑选合适的方法自行实现。 比如你要去旅游了每个国家插座插孔和电压都不一样你带了一个万能转换器比如wp-933 然后各国插座如下 暂且假定该万能转换插孔只提供一个空的插孔需要你去自定义实现我例子举得不是很好…有点牵强 万能插孔适配接口 package com.robin.adapter.interfaceadpter;// 万能插孔适配接口 public interface AllJacks {// 德国标准public void germanJack();// 欧洲标准public void europeanJack();// 中国澳大利亚标准public void chinaAndOzJack();// 美国标准public void usaJack();//...... } 万能插孔抽象类实现接口中的所有方法提供空方法体 package com.robin.adapter.interfaceadpter;// 抽象类实现万能适配接口实现全部接口方法提供空方法体 public abstract class AbsAllJacksAdapter implements AllJacks {// 德国Overridepublic void germanJack() {}// 欧洲Overridepublic void europeanJack() {}// 中国和澳大利亚Overridepublic void chinaAndOzJack() {}// 美国Overridepublic void usaJack() {} } 客户端测试 package com.robin.adapter.interfaceadpter;public class Client {public static void main(String[] args) {// 中国电脑插孔为三孔方形String srcJack [三孔]三方形孔;// 假设我现在旅行去美国AbsAllJacksAdapter absAllJacksAdapter new AbsAllJacksAdapter(){Overridepublic void usaJack() {System.out.println(使用万能转化器转换);// 美国电压为 100-130V,插孔为三孔两方一圆String destJack [三孔]两方一圆孔;System.out.println([插孔适配完毕]:srcJackdestJack);}};absAllJacksAdapter.usaJack();} } 小结 适配器模式的三种方式也其实就是被适配类如何被适配器类获取使用的类继承对象合成复用接口。Adapter适配器模式的最大作用就是将原本不兼容的接口融合在一起工作。
http://www.w-s-a.com/news/85243/

相关文章:

  • ppt做长图网站wordpress文章页面图片自动适应
  • 做泌尿科网站价格京东商城网站建设教程
  • 像网站的ppt怎么做的移动app与网站建设的区别
  • 怎么建个人网站网站收录有什么用
  • 广州市医院网站建设广州头条新闻最近一周
  • 广州移动 网站设计中国交通建设监理协网站
  • 甘肃省第八建设集团公司网站wordpress topnews
  • 公司网站建设维保协议wordpress会员可看
  • 合肥百度网站排名优化深圳集团网站开发公司
  • 可以直接打开网站的方法手机回收站
  • 山西免费网站制作中天建设集团有限公司第九建设公司
  • 好的网站有哪些企业微信开发者工具
  • 网站通栏代码老外做的中国汉字网站
  • 东莞公司建站哪个更便宜wordpress宝塔伪静态
  • 六安网站建设价格做网站好吗
  • 中小企业网站建设咨询湖南省邵阳建设局网站
  • 分类网站一天做几条合适南安网络推广
  • 案例学 网页设计与网站建设百度竞价关键词出价技巧
  • 做公司网站要那些资料南雄网站建设
  • 自己做的网站发布到网上视频播放不了网页游戏奥奇传说
  • 网站效果用什么软件做品牌网站建设等高端服务
  • 四川省成华区建设局网站网站专业制作
  • 网站建设如何开票网站后台怎么做超链接
  • 教育网站设计方案建设网站技术公司电话号码
  • 建网站要定制还是第三方系统传奇网站模板psd
  • 免费搭建企业网站什么叫网站定位
  • 网站建设cms程序员培训班
  • 网站seo技术wordpress editor ios
  • 红酒网站设计成立公司需要哪些手续
  • 广州做网站哪个好网站建网站建设网站站网站