對於介面卡模式,簡單的一句話就是,它是一種
將乙個介面轉成另乙個介面的設計。
類圖:
《head first 設計模式》書中舉的鴨子和火雞的例子已經很好的介紹了(這書很好大家快去看),這裡換一種說法來更簡單的去理解,我也舉乙個簡單的例子。
現在有兩個介面,是胖子和瘦子:
public inte***ce fatty
public inte***ce thin
兩個實現類,凱哥和我:
public static class rongkai implements fatty
@override
public void dodge()
}public static class me implements thin
@override
public void dodge()
}
現在問題來了,現在要舉辦拳擊比賽,需要乙個胖子參賽,只能是胖子:
public static void boxing(fatty fatty)
但是凱哥現在去辦別的大事去了,只有我個瘦子在,怎麼辦呢?打腫臉充胖子吧,把自己偽裝成胖子去,這時候就需要乙個介面卡了:
public static class thinadapter implements fatty
@override
public void hitotherpeople()
@override
public void dodge()
}
注意這裡的介面卡實現了fatty介面,也就是說它是乙個fatty,然後用了組合的方式,把乙個thin型別的物件傳進來,具體的「打人」和「走位」就讓thin物件來做了(可惜實際上只能被打)。
最後去參賽吧:
public static void main(string args)
結果是:
Java 介面卡模式
先上基本概念,再談談我的理解 介面卡模式有兩種,物件介面卡和類介面卡。介面卡模式將乙個類的介面轉換成客戶期望的另乙個介面,介面卡讓原本介面不相容的類可以合作無間。例子 交流電介面卡。看看類圖關係 這個為物件介面卡的類圖 解釋一下 比如client類有些方法a b adaptee也有一些特別的方法a1...
Java 介面卡模式
inte ce windows class mywindows implements windows public void max public void close public class adaptdemo 先看 介面windows,介面實現類mywindows,但是我現在想實現介面wind...
java介面卡模式
gnight的文章 定義 屬於結構型模式,其主要作用是將乙個類的介面轉換成客戶希望的另外乙個介面。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。比如你手機只有2.5mm介面 貌似就nokia幹的出來 但你只能買到3.5mm的,這時就需要買個介面卡了 意圖宗旨 保留現有類所提供的...