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

做网站有限公司百度小说网

做网站有限公司,百度小说网,商务信息网,软件开发者能看到手机信息吗类模式 我们知道插座的电压为交流电220V,而日常电器使用的是直流电且电压会较小,比如手机充电会通过插头适配器达到额定的输入电流。下面我们实现这个案例:将220V电压转化为5V的电压。 package Adapter.Class;public class Adapter extends …

类模式

我们知道插座的电压为交流电220V,而日常电器使用的是直流电且电压会较小,比如手机充电会通过插头适配器达到额定的输入电流。下面我们实现这个案例:将220V电压转化为5V的电压。

 

package Adapter.Class;public class Adapter extends Power220V implements Power5V {@Overridepublic int output5V() {int input = output220V();int output = input/44;return output;}
}
package Adapter.Class;public class Client {public static void main(String[] args) {Phone phone = new HuaWei();phone.charging(new Adapter());}
}
package Adapter.Class;public class HuaWei implements Phone{@Overridepublic void charging(Adapter adapter) {System.out.println("华为手机适配电压5伏");if(adapter.output5V()==5) System.out.println("华为手机充电成功");else System.out.println("华为手机充电不成功");}
}
package Adapter.Class;public interface Phone {public void charging(Adapter adapter);
}
package Adapter.Class;public interface Power5V {public int output5V();
}
package Adapter.Class;public class Power220V {private int power = 220;public int output220V() {System.out.println("电压" + power + "伏");return power;}
}

这种模式被称作类模式,可以看到Adapter继承了Adaptee(要适配者)并且实现了Target(要适配者)。对于一对一的适配还有一种模式叫对象模式,在这种模式下,Adaptee会作为Adapter的成员属性而不是让Adapter去继承Adaptee。

对象模式 

 

package Adapter.Object;public class Adapter implements Power5V {Power220V power220V;public Adapter() {}public Adapter(Power220V power220V) {this.power220V = power220V;}@Overridepublic int output5V() {int input = power220V.output220V();int output = input/44;return output;}
}
package Adapter.Object;public class Client {public static void main(String[] args) {Phone phone = new HuaWei();phone.charging(new Adapter(new Power220V()));}
}

 

双向模式

上面的案例介绍了一对一的适配,还有一种适配是双向的。下面用一个案例介绍:实现猫学狗叫和狗学猫抓老鼠。

package Adapter.BothWay;public class Adapter implements CatImpl,DogImpl{private CatImpl cat;private DogImpl dog;public CatImpl getCat() {return cat;}public void setCat(CatImpl cat) {this.cat = cat;}public DogImpl getDog() {return dog;}public void setDog(DogImpl dog) {this.dog = dog;}@Overridepublic void catchMice() {System.out.print("狗学");cat.catchMice();}@Overridepublic void cry() {System.out.print("猫学");dog.cry();}
}
package Adapter.BothWay;public class Cat implements CatImpl{@Overridepublic void catchMice() {System.out.println("猫抓老鼠");}@Overridepublic void cry() {}
}
package Adapter.BothWay;public interface CatImpl {public void catchMice();public void cry();
}
package Adapter.BothWay;public class Dog implements DogImpl{@Overridepublic void cry() {System.out.println("狗叫");}@Overridepublic void catchMice() {}
}
package Adapter.BothWay;public interface DogImpl {public void cry();public void catchMice();
}
package Adapter.BothWay;public class Client {public static void main(String[] args) {Adapter adapter = new Adapter();CatImpl cat = new Cat();DogImpl dog = new Dog();adapter.setCat(cat);adapter.setDog(dog);cat = (CatImpl) adapter;cat.cry();dog = (DogImpl) adapter;dog.catchMice();}
}

http://www.hkea.cn/news/63932/

相关文章:

  • 河北建设厅官方网站八大员考试站长工具查询
  • 大连 做网站公司爱站工具包的主要功能
  • ps做简洁大气网站必应bing国内版
  • 做公司标志用哪个网站营销自动化
  • wordpress5.0.3厦门百度seo
  • 网站开发 企业 定制系统优化大师安卓版
  • 网站内链符号seo百度站长工具
  • 网站页面太多是否做静态seo优化软件
  • mac下怎么安装wordpress关键词排名优化易下拉霸屏
  • 国内做国外代购在哪个网站好百度平台客服怎么联系
  • 菏泽网站获客网站建设公司中国站长网入口
  • 黄冈网站建设推荐seo查询排名软件
  • 自己怎么做百度网站广州seo网站公司
  • 京东企业的电子网站建设百度seo教程网
  • 弥勒网站设计公司share群组链接分享
  • 网站建设栏目管理百度推广搜索排名
  • 企业管理类的网站全球搜是什么公司
  • 网站开发自我介绍seo报告
  • 网站应用软件设计海口seo网络公司
  • 武汉站建设深圳网站开发制作
  • 网站建设的平台分析北京seo技术
  • 手表价格网站百度推广天津总代理
  • 如何将域名和网站绑定排名seo怎么样
  • 旅游网站推广方案色盲测试图
  • 现在开发个网站多少钱安全优化大师
  • 网站开发工程师工资多少百度统计工具
  • 征信报告优化大师好用吗
  • 一个ip地址做多个网站网络营销公司是做什么的
  • 赤峰网站建设公司旅行网站排名
  • seo网站优化工具软件拉新推广平台