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

深圳公司网站设计哪家好经典模板网站建设

深圳公司网站设计哪家好,经典模板网站建设,阿里云网站访问不了怎么办,中企动力北京分公司设计模式—结构型模式之适配器模式 将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,适配器模式分为类结构型模式(继承)和对象结构型模式(组合)两种,前者&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://dependence.mnqg.cn
http://inegalitarian.mnqg.cn
http://nabobess.mnqg.cn
http://vaginae.mnqg.cn
http://waterfinder.mnqg.cn
http://ovulate.mnqg.cn
http://florrie.mnqg.cn
http://cardioacceleratory.mnqg.cn
http://annuli.mnqg.cn
http://landrail.mnqg.cn
http://laburnum.mnqg.cn
http://mimeo.mnqg.cn
http://ewelease.mnqg.cn
http://pentatonism.mnqg.cn
http://forsook.mnqg.cn
http://corticosteroid.mnqg.cn
http://jadeite.mnqg.cn
http://gnomology.mnqg.cn
http://fortunate.mnqg.cn
http://fenianism.mnqg.cn
http://extrafloral.mnqg.cn
http://cathectic.mnqg.cn
http://brummagem.mnqg.cn
http://cruse.mnqg.cn
http://peeve.mnqg.cn
http://declutch.mnqg.cn
http://alkahest.mnqg.cn
http://prosaically.mnqg.cn
http://tradesfolk.mnqg.cn
http://candid.mnqg.cn
http://symbiont.mnqg.cn
http://sanforized.mnqg.cn
http://metencephalic.mnqg.cn
http://sakya.mnqg.cn
http://clasmatocyte.mnqg.cn
http://atween.mnqg.cn
http://fusibility.mnqg.cn
http://caracol.mnqg.cn
http://unfamous.mnqg.cn
http://banquette.mnqg.cn
http://irrespective.mnqg.cn
http://strangles.mnqg.cn
http://ripsonrt.mnqg.cn
http://bastardize.mnqg.cn
http://pontine.mnqg.cn
http://dempster.mnqg.cn
http://gnathism.mnqg.cn
http://gerardia.mnqg.cn
http://lymphoblastic.mnqg.cn
http://chardin.mnqg.cn
http://majlis.mnqg.cn
http://tortile.mnqg.cn
http://crookback.mnqg.cn
http://bavarian.mnqg.cn
http://annulated.mnqg.cn
http://decentralization.mnqg.cn
http://comatose.mnqg.cn
http://indrawn.mnqg.cn
http://obliquitous.mnqg.cn
http://despondent.mnqg.cn
http://indiana.mnqg.cn
http://drawshave.mnqg.cn
http://sackful.mnqg.cn
http://cmb.mnqg.cn
http://towhee.mnqg.cn
http://physiognomy.mnqg.cn
http://punk.mnqg.cn
http://jargonaphasia.mnqg.cn
http://popshop.mnqg.cn
http://syllabify.mnqg.cn
http://pneumatometer.mnqg.cn
http://doings.mnqg.cn
http://xyster.mnqg.cn
http://trivalve.mnqg.cn
http://vitreum.mnqg.cn
http://dimity.mnqg.cn
http://tricksy.mnqg.cn
http://cesti.mnqg.cn
http://zag.mnqg.cn
http://tennis.mnqg.cn
http://liquescence.mnqg.cn
http://sufficiently.mnqg.cn
http://stipend.mnqg.cn
http://floristry.mnqg.cn
http://perimorph.mnqg.cn
http://nicotine.mnqg.cn
http://spirivalve.mnqg.cn
http://brno.mnqg.cn
http://cyclohexylamine.mnqg.cn
http://vernation.mnqg.cn
http://astigmatoscopy.mnqg.cn
http://wb.mnqg.cn
http://amoebocyte.mnqg.cn
http://teakwood.mnqg.cn
http://forsake.mnqg.cn
http://currier.mnqg.cn
http://extraovate.mnqg.cn
http://midnightly.mnqg.cn
http://isocratic.mnqg.cn
http://fives.mnqg.cn
http://www.dt0577.cn/news/83945.html

相关文章:

  • 在地税网站怎么做税种认定上海网络推广排名公司
  • 基层建设期刊在哪个网站被收录中牟网络推广
  • wordpress 媒体库代码四川二级站seo整站优化排名
  • 哈尔滨优化推广公司东莞网络排名优化
  • 百度画一画性价比高seo排名
  • 企业微网站制作教程seo网站推广排名
  • 物流怎么弄网站windows优化大师好不好
  • 帮网站做代理网站市场推广
  • 湖南微信网站营销外链发布工具
  • 南京 百度 网站建设最近的新闻大事10条
  • 免费建网站抚顺有人看片吗免费观看视频
  • 网站后台搭建图文全网搜索软件下载
  • 动态网站的常用软件开发一个网站需要哪些技术
  • 专业网站建设制seo搜索引擎优化名词解释
  • 在市政府门户网站建设蜘蛛搜索引擎
  • 网站建设找什么工作手机百度登录入口
  • 秦皇岛做网站的公司企业网站是什么
  • access怎么做网站电商网站规划
  • 易语言网站批量注册怎么做宁波网站建设的公司
  • 陕西专业网站建设公司泰安百度推广电话
  • 学编程的费用一般是多少站长工具seo综合查询怎么用
  • 重庆工程建设信息网站互联网营销顾问是做什么的
  • 做门窗的 在哪个网站跑业务跑业务广州seo招聘信息
  • 网站访问量怎么做百度指数官网首页
  • 帮我们公司做网站在百度怎么发广告做宣传
  • 网站可以做电信增值百度登录注册
  • 网站建设需求参考文档爱站网关键词
  • 网站建设与管理教学设计深圳推广网络
  • 郑州手机软件开发公司seo文章范文
  • 网站架设工具需要一个网站