3.Java设计模式-->适配器模式
来源:互联网 发布:求非线性方程的算法 编辑:程序博客网 时间:2024/06/08 20:00
设计模式重点还是思想,针对问题的具体代码肯定会有变化.
现有,Usb插孔和Ps2插头一个.
1.类适配器
Usb.javainterface Usb{ void chargeWithUsb(); }
Ps2.javainterface Ps2{ void chargeWithPs2(); }
Phone.javapublic class Phone implements Usb{ @Override public void chargeWithUsb(){ System.out.println(" charging (usb) "); } }
Adapter.java public class Adapter extends Phone implements Ps2{//继承是为了调用 Phone 的方法,Cuz java不允许方法的嵌套. @Override public void chargeWithPs2(){ chargeWithUsb(); } //调用chargeWithPs2(),但是实际执行的是chargeWithUsb() }
Test.javapublic class Test{ public static void main( String[] args){ Ps2 gamer = new Adapter(); gamer.chargeWithPs2(); } //输出 charging (usb) }
.
2.对象适配器
Usb.javainterface Usb{ void chargeWithUsb(): }
Ps2.javainterface Ps2{ void chargeWithPs2(); }
Phone.javapublic class Phone implements Usb{ @Override public void chargeWithUsb(){ System.out.println("charging (usb)"); } }
...................上面代码与类适配器相同
Adapter.javapublic class Adapter implements Ps2{ private Usb usb; public Adapter(Usb usb){ this.usb = usb }//初始化类成员变量usb @Override public void chargeWithPs2(){ usb.chargeWithUsb(); } } //通过获得Usb实例来调用其方法.
Test.javapublic class Test{ public static void main( String[] args ){ Ps2 gamer = new Adapter( new Usb() ); gamer.chargeWithPs2(); } }
.
.
3.接口适配器
A.javainterface A{ void a(); void b(); void c(); void d(); void e();
Adapter.javapublic abstract class Adapter implements A { //必须实现所有接口方法,必须有方法体{},不一定要内容 public void a(){}; public void b(){}; public void c(){}; public void d(){}; public void e(){}; //设置为抽象类,可以避免被实例化.抽象类只为继承.
Example.javapublic class Example extends Adapter{ @Override public void a(){ System.out.println("excute a"); } @Override public void c() System.out.println("excute c"); } //有选择的实现接口方法,而不是全部实现.
阅读全文
0 0
- 3.Java设计模式-->适配器模式
- Java设计模式--适配器模式
- 设计模式-适配器模式
- 设计模式-适配器模式
- Java 适配器设计模式
- 适配器(JAVA设计模式)
- java 适配器设计模式
- java设计模式 适配器
- Java适配器设计模式
- java适配器设计模式
- java设计模式-适配器
- java适配器设计模式
- java设计模式----适配器模式
- Java设计模式----适配器模式
- java设计模式适配器模式
- java设计模式--适配器模式
- java设计模式---适配器模式
- java设计模式---适配器模式
- 【笔记】Action Recognition from video (一)
- CSS中margin和padding的区别
- FTPrep, 5 Longest Palindromic Substring
- autotools 系列工具安装以及使用方法
- 使用explain优化sql
- 3.Java设计模式-->适配器模式
- python进程实例
- Java设计模式之模板方法模式(Template Method)
- Linux上Qt程序闪退的BUG
- UART SPI I²C对比总结。
- urllib 代理
- 微信小程序+OLAMI自然语言API接口制作智能查询工具--快递、聊天、日历等
- 解决Vue请求 ‘No 'Access-Control-Allow-Origin' header is present on the requested resource’错误
- jzoj. 3928. 【NOIP2014模拟11.6】射击