設計模式之介面卡模式

2021-09-09 08:37:00 字數 745 閱讀 6377

學校的成績單過去只有語文數學英語這三門,這三門也被稱之為基礎課,設計的時候是用鍊錶進行儲存的。現在不是要求全面發展嘛,還要看體育成績。不過體育算到基礎課也不太合適,不能在原先的類上進行擴充套件。這時候怎麼展示成績單呢?

其實也很簡單,加個介面卡就好了。用我想要的介面去呼叫。

定義乙個成績單的介面

public inte***ce ireport
基礎課程類

public class primaryreport implements ireport 

}public linkedlistgetreport()

}

擴充後的其他科類,目前只有體育

public class otherreport implements ireport 

public int getotherreport()

}

寫個介面卡能知道所有課資訊

public class report implements ireport 

public void getreport()

}

最後看看場景

public class client 

}

執行結果:

語文成績是30

數學成績是80

英語成績是20

體育成績是90

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式之 介面卡模式

1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...

設計模式之介面卡模式

介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...