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

深圳公司网站设计哪家好百度卖货平台

深圳公司网站设计哪家好,百度卖货平台,wordpress more修改,龙岩网站建设哪里比较好设计模式—结构型模式之适配器模式 将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,适配器模式分为类结构型模式(继承)和对象结构型模式(组合)两种,前者&a…

设计模式—结构型模式之适配器模式

将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,适配器模式分为类结构型模式(继承)和对象结构型模式(组合)两种,前者(继承)类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。

别名也可以是Wrapper,包装器。

适配器模式(Adapter)包含以下主要角色。

  • 目标(Target)接口:可以是抽象类或接口。客户希望直接用的接口。
  • 适配者(Adaptee)类:隐藏的转换接口。
  • 适配器(Adapter)类:它是一个转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口。

举例

比如我们需要一个播放器类,可以根据不同的国家提供相应字幕的功能。我们不应该修改播放器,我们需要写一个适配器类,来进行字幕转换。

播放电影接口如下:

/*** 提供原有接口,可以播放电影,并且返回字幕*/
public interface Player {String play();
}

电影播放器类如下:

/*** 电影播放器*/
public class MoviePlayer implements Player{@Overridepublic String play() {String content = "你好,世界!";//打印字幕System.out.println(content);return content;}
}

如果是我们自己看的话,直接进行如下操作即可:

public class AdapatorTest {public static void main(String[] args) {MoviePlayer moviePlayer = new MoviePlayer();moviePlayer.play();}
}

但是如果有一个以英文为语言的人来看的话,就不行了。

所以我们需要一个适配器,来为英文适配。

翻译文本内容的接口如下:

/*** 提供接口,翻译文本内容*/
public interface Translator {String translate(String content);
}

中文翻译为英文的类如下;

/*** 中文---》英文的翻译器*/
public class ZhToEnTranslator implements Translator{/*** 简单示意翻译* @param content 需要翻译的内容* @return  翻译的内容*/@Overridepublic String translate(String content) {//省略判空if(content.contains("你好")){content = content.replace("你好","Hello");}if(content.contains("世界")){content = content.replace("世界","World");}return content;}
}

运行如下:

运行截图

类适配器

使用继承的方式来进行适配。

英文适配器如下:

/*** 做英文适配*/
public class EnglishMoviePlayerAdapter extends ZhToEnTranslator implements Player {//被适配对象private Player target;public EnglishMoviePlayerAdapter(Player target) {this.target = target;}@Overridepublic String play() {String play = target.play();//翻译String translate = translate(play);System.out.println("English:"+translate);return translate;}
}

测试如下:

public class ClazzAdapaterTest {public static void main(String[] args) {MoviePlayer moviePlayer = new MoviePlayer();EnglishMoviePlayerAdapter englishMoviePlayerAdapter = new EnglishMoviePlayerAdapter(moviePlayer);englishMoviePlayerAdapter.play();}
}

运行如下:

运行截图

对象组合适配器

使用对象组合的方法来进行适配

/*** 做英文适配*/
public class EnglishMoviePlayerAdapter implements Player {private Translator translator = new ZhToEnTranslator();//被适配对象private Player target;public EnglishMoviePlayerAdapter(Player target) {this.target = target;}@Overridepublic String play() {String play = target.play();//翻译String translate = translator.translate(play);System.out.println("English:"+translate);return translate;}
}

测试类如下:

public class ObjAdapaterTest {public static void main(String[] args) {MoviePlayer moviePlayer = new MoviePlayer();EnglishMoviePlayerAdapter englishMoviePlayerAdapter = new EnglishMoviePlayerAdapter(moviePlayer);englishMoviePlayerAdapter.play();}
}

运行如下:

运行截图

http://www.15wanjia.com/news/12164.html

相关文章:

  • 山东德州网站建设哪家最好湛江百度seo公司
  • 汽车贸易网站建设方案seo全网推广
  • 广州站改造最新消息代写文章
  • 做羊水亲子鉴定网站换友情链接的网站
  • 资阳住房和城乡建设厅网站推广app平台有哪些
  • 建立网站站点网络营销的效果是什么
  • 诸城公司做网站制作app平台需要多少钱
  • 公司怎么建网站做推广写手接单平台
  • 2023吉林疫情最新消息今天镇江关键字优化品牌
  • 山东济南网站建设如何在百度推广自己
  • 校园网上超市网站建设推广方法seo
  • 如何使用ps做网站怎么做小说推广挣钱
  • 导航网站怎么建百度竞价点击软件
  • 百度小程序跟做网站西安seo排名公司
  • 专业做蛋糕的网站写文案接单平台
  • 济南模板网站设计深圳知名seo公司
  • 配置网站域名技能培训有哪些
  • 河北网站建设seo优化网络推广公司介绍
  • 网站怎么升级企业推广宣传方式
  • 如何做网站软件免费发布推广的网站有哪些
  • 济南网站建设阝力荐聚搜网免费的b2b平台
  • 河南第二建设集团有限公司网站谷歌seo和百度seo区别
  • 如何做网络投票网站百度关键词推广价格查询
  • 女人做春梦视频网站赣州是哪个省
  • wordpress 教程 推荐seo翻译
  • 下载网页模板的网站宁波好的seo外包公司
  • 天津艺匠做网站seo外包公司怎么样
  • 可商用图片素材网站天津网站快速排名提升
  • 宁波高端模板建站百度软件中心下载
  • 手机版企业网站h5百度学术论文查重