適用於兩個不匹配介面使用一個轉接器使得雙方能夠互相溝通
Ex.

  1. 三孔插頭無法直接插入兩孔的插座,加個轉接頭便可插入
  2. iPhone可利用lightning轉3.5mm的轉接器便可以使用有線耳機

這裡有Cat, Dog介面,使用轉接器來讓Dog也能使用meow()來發出叫聲

public interface Cat {
   void meow();
}

public interface Dog {
   void bark();
}
public class PersianCat implements Cat{
   @Override
   public void meow() {
      System.out.println("Meow!");
   }
}

public class Dalmatian implements Dog{
    @Override
    public void bark() {
        System.out.println("Woof!!");
    }
}

在轉接器中實作meow()時,使用的是Dog的bark()來實作

public class CatAdapter implements Cat{
   Dog dog;

   public CatAdapter(Dog dog) {
      this.dog = dog;
   }

   @Override
   public void meow() {
      dog.bark();
   }
}
public class DemoTest {
   public static void main(String[] args) {
      Cat cat = new PersianCat();
      cat.meow();

      Dog dog = new Dalmatian();
      CatAdapter adapter = new CatAdapter(dog);
      adapter.meow();

   }
}

Meow!
Woof!!







你可能感興趣的文章

【THM Walkthrough】Exploiting Active Directory (2)

【THM Walkthrough】Exploiting Active Directory (2)

信用卡資訊分享 || 2020 下半年

信用卡資訊分享 || 2020 下半年

生成連續數字陣列

生成連續數字陣列






留言討論