我们用现实生活中的适配器不少。例如,我们使用存储卡适配器连接存储卡和一个计算机,因为计算机仅支持一种类型的存储卡和我们的卡不与计算机兼容。

适配器是两种不相容的实体之间的转换器。适配器模式是一种结构模式。

在Java设计模式,Adapter模式的工作原理是两个不兼容的接口之间的桥梁。

通过使用适配器模式,我们可以统一这两个不兼容的接口。

首先,我们创建一个播放器界面播放的媒体文件的任意时间。

MyP 是适配器,它统一的播放媒体文件的接口。

interface P  {
   public void play(String type, String fileName);
}/*from   www . j  ava  2 s  . c  o m*/
interface AudioP  {  
   public void playAudio(String fileName);
}
interface VideoP  {  
   public void playVideo(String fileName);
}
class MyAudioP  implements AudioP  {
   @Override
   public void playAudio(String fileName) {
      System.out.println(\"Playing. Name: \"+ fileName);    
   }
}
class MyVideoP  implements VideoP  {
   @Override
   public void playVideo(String fileName) {
      System.out.println(\"Playing. Name: \"+ fileName);    
   }
}

class MyP  implements P  {

   AudioP  audioP  = new MyAudioP ();
   VideoP  videoP  = new MyVideoP ();
   
   public MyP (){      
   }
   @Override
   public void play(String audioType, String fileName) {
      if(audioType.equalsIgnoreCase(\"avi\")){
         videoP .playVideo(fileName);
      }else if(audioType.equalsIgnoreCase(\"mp3\")){
         audioP .playAudio(fileName);
      }
   }
}
public class Main{
   public static void main(String[] args) {
      MyP  myP  = new MyP ();

      myP .play(\"mp3\", \"h.mp3\");
      myP .play(\"avi\", \"me.avi\");
   }
}

 

收藏 打印