Java设计模式之适配器模式

1380阅读 0评论2015-04-01 vibe26
分类:Java

下面通过一个PS2PORT端口转USBPORT端口的转换线说明:

  1. package com.zzy.adapter;  
  2.   
  3. /** 
  4.  * PS2接口,圆口 
  5.  * @author eason 
  6.  * 
  7.  */  
  8. public interface PS2Port {  
  9.     public void workWithPS2();  
  10. }  


  1. package com.zzy.adapter;  
  2.   
  3. /** 
  4.  * USB接口,U口 
  5.  * @author eason 
  6.  * 
  7.  */  
  8. public interface USBPort {  
  9.     public void workWithUSB();  
  10. }  

  1. package com.zzy.adapter;  
  2.   
  3. /** 
  4.  * 对象适配器 
  5.  * 将PS2接口装换成USB接口 
  6.  * 所以此类类型是USB接口(implements USBPort) + 成员变量ps2Port 
  7.  * @author eason 
  8.  * 
  9.  */  
  10. public class PS2ToUSB implements USBPort{  
  11.   
  12.     private PS2Port ps2Port;  
  13.       
  14.     public PS2ToUSB(PS2Port ps2Port) {  
  15.         this.ps2Port = ps2Port;  
  16.     }  
  17.       
  18.     @Override  
  19.     public void workWithUSB() {  
  20.         System.out.println("转换的关键在这里,本来是");  
  21.         ps2Port.workWithPS2();  
  22.         System.out.println("经过你的转换,现在是USB工作中");  
  23.     }  
  24.       
  25. }  

  1. package com.zzy.adapter;  
  2.   
  3. /** 
  4.  * 测试类 
  5.  * client 
  6.  * @author eason 
  7.  * 
  8.  */  
  9. public class TestAdapter {  
  10.   
  11.     public static void main(String[] args) {  
  12.         //1.我现在有一个PS2接口  
  13.         PS2Port ps2Port = new PS2Port() {  
  14.             @Override  
  15.             public void workWithPS2() {  
  16.                 System.out.println("PS2工作中");  
  17.             }  
  18.         };  
  19.           
  20.         //2.但是我需要的是一个USB接口啊,对我(client)来说,我只认识USB接口  
  21.         //3.经过PS2ToUSB的转换,PS2接口变成了USB接口  
  22.         USBPort ps2ToUsbPort = new PS2ToUSB(ps2Port);  
  23.           
  24.         ps2ToUsbPort.workWithUSB();  
  25.           
  26.     }  
  27.   
  28. }  

上一篇:DAO设计模式
下一篇:动态添加Fragment布局文件的诡异