什麼時候使用介面?什麼時候使用抽象?選擇Java介面還是抽象類
阿新 • • 發佈:2019-01-06
1.關於介面的理解。
介面從更深層次的理解,應是定義(規範,約束)與實現(名實分離的原則)的分離。
我們在一般實現一個系統的時候,通常是將定義與實現合為一體,不加分離的,我認為最為理解的系統設計規範應是所有的定 義與實現分離,儘管這可能對系統中的某些情況有點繁煩。
介面的本身反映了系統設計人員對系統的抽象理解。
介面應有兩類:第一類是對一個體的抽象,它可對應為一個抽象體(abstract class);
第二類是對一個體某一方面的抽象,即形成一個抽象面(interface);
一個體有可能有多個抽象面。
抽象體與抽象面是有區別的。
2.設計介面的另一個不可忽視的因素是介面所處的環境(context,environment),系統論的觀點:環境是系統要素所處的空間與外部影響因素的總和。任何介面都是在一定的環境中產生的。因此環境的定義及環境的變化對介面的影響是不容忽視的,脫離原先的環境,所有的介面將失去原有的意義。
3.按照元件的開發模型(3C),它們三者相輔相成,各司一面,渾然一體,缺一不可。
介面與抽象類的區別: