適配器模式

 Adapter Pattern 適配器模式

瞭解現有內容,以及對外的需求。中間使用Adapter連接。

1.Class Adapter

 使用電源適配器做例子。Source是原來有的220V電源

  1. package org.yucc.classs; 
  2.  
  3. public class Source { 
  4.  
  5.     private int level; 
  6.      
  7.     public Source(int level) 
  8.     { 
  9.         this.level = level; 
  10.     } 
  11.     public int getLevel(){ 
  12.         return level ; 
  13.     } 

 SOAdapter是電源適配器,負責電壓轉換。

  1. package org.yucc.classs; 
  2.  
  3. public class SOAdapter extends Source { 
  4.  
  5.     public SOAdapter(int level) { 
  6.         super(level); 
  7.         // TODO Auto-generated constructor stub 
  8.     } 
  9.      
  10.     public String convertLevel(int level) { 
  11.         // TODO Auto-generated method stub 
  12.         return this.getLevel() + " convert TO " + level +"\n"
  13.     } 
  14.  

Output 提供所需要電壓

  1. package org.yucc.classs; 
  2.  
  3. interface OutputInterface { 
  4.  
  5.     public String service(int level) ; 
  6. public class Output implements OutputInterface{ 
  7.     private SOAdapter adapter ; 
  8.      
  9.     public void setAdapter(SOAdapter adapter){ 
  10.         this.adapter = adapter ; 
  11.     } 
  12.     @Override 
  13.     public String service(int level) { 
  14.         // TODO Auto-generated method stub 
  15.         return this.adapter.convertLevel(level) +"目前的level是 " + level ; 
  16.     } 

2.Object Adapter

下面是的對象持有中的適配器類。實際操作以持有的對象進行。

  1. package org.yucc.object; 
  2.  
  3. import org.yucc.classs.Source; 
  4.  
  5. public class SOAdapter { 
  6.     private Source src = null ; 
  7.     public SOAdapter(Source src) { 
  8.         // TODO Auto-generated constructor stub 
  9.         this.src = src ; 
  10.     } 
  11.      
  12.     public String convertLevel(int level) { 
  13.         // TODO Auto-generated method stub 
  14.         return this.src.getLevel() + " convert TO " + level +"\n"
  15.     } 
  16.  

適配器模式使得我們可以使用已有的類來實現一些特定的需求。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章