Interface存在的原因有二:
1.能夠向上轉型為多個型別
2.讓客戶端無法產生物件,確保"介面"的設計意義
如果使用的base class不帶任何函式定義式或任何成員變數
應優先選用Interface,其次才考慮abstract class
基本上在確定某些東西會成為base class,優先考量就是使他成為Interface
過度使用Interfaces會帶來額外的複雜度,必須確定有需求再使用
在類別實作多個Interface時
有不同的Interface間採用相同的method命名會導致出錯,應避免此情形
將Interfaces置於某個class中會形成巢狀的Interfaces
巢狀的Interfaces可以為private,意義是實作他的類別在外部不能向上轉型
而巢狀位於另一個Interface內時,那些Interfaces會自動成為public
沒有留言:
張貼留言