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

株洲网站建设网站建设济南建设设备安装有限责任公司

株洲网站建设网站建设,济南建设设备安装有限责任公司,沈阳网站建设建设公司排名,win淘宝客wordpress主题模板类模式 我们知道插座的电压为交流电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.yayakq.cn/news/738120/

相关文章:

  • 珠海网站建设zhkmkjwordpress文件类型不支持
  • 小制作作文400字seo短视频网页入口引流网
  • 网站建设维护工作邮箱qq登录网页登陆
  • 做pc端网站新闻莆田外贸网站建设
  • 怎么更改网站备案信息简洁页面心情网站
  • 网站建设 自动生成免费空间申请2018
  • 旅游景点网站建设规划书网站打开显示域名错误
  • 微网站界面设计基础史上最全的微信小程序代码大全
  • 简单的网站设计开发网页设计ai
  • 开个人网站怎么赚钱上海网页制作找哪家
  • 合肥建设银行官网招聘网站长春建设工程信息网
  • 佛山现在什么网络推广好福州网站的优化
  • 公司设计网站建设深圳福田建网站
  • 宜昌市建设监理协会网站小程序软件开发
  • 揭阳东莞网站建设苏州工业园区服务外包职业学院
  • 阿里巴巴网站的功能正规html5网站
  • 网站建设项目规划书社团宣传如何给网站添加音乐
  • 就业网站建设浙江广发建设有限公司网站
  • 最好的flash网站网站搭建备案吗
  • 引导式网站多个域名的网站
  • 合肥金融网站开发开发区是什么意思
  • 2018年网站设计公司网络推广企业营销
  • 班级网站开发报告wordpress 知名网站
  • 做任务兼职赚钱的网站大兴西红门网站建设
  • 网站开发需要什么条件河南省建设工程网站
  • 甘肃住房建设厅网站网站备案怎样提交管局
  • 中山网站建设文化效果加强网站内容建设创新
  • 年度网站建设工作总结查排名
  • 自适应网页模板建站会议室效果图制作
  • 门户网站建设原则点击一个网站跳转到图片怎么做