單根繼承,意味著所有類的繼承,都繼承自單一的基類的繼承模式。.NET ,JAVA都是這樣的單根繼承。
基本介紹
- 中文名:單根繼承
- 外文名:無
在OOP中,自C++面世以來就已變得非常矚目的一個問題就是,是否所有的類最終都繼承自單一的基類。在Java中(事實上還包括除C++以外的所有OOP語言),答案是yes,這個終極基類的名字就是Object。事實證明,單根繼承結構帶來了很多好處。
在單根繼承結構中的所有對象都具有一個共用接口,所以它們歸根到底都是相同的基本類型。另一種(C++所提供的)結構是無法確保所有對象都屬於同一個基本類型。從向後兼容的角度看,這么做能夠更好地適應C模型,而且受限較少,但是當要進行完全的面向對象程式設計時,則必須構建自己的繼承體系,使得它可以提供其他OOP語言內置的便利。並且在所獲得的任何新類庫中,總會用到一些不兼容的接口,需要花力氣(有可能要通過多重繼承)來使新接口融入你的設計之中。這么做來換取C++額外的靈活性是否值得呢?如果需要的話—如果在C上面投資巨大,這么做就很有價值。如果是剛剛從頭開始,那么像Java這樣的選擇通常會有更高的生產率。
單根繼承結構保證所有對象都具備某些功能。因此你知道,在你的系統中你可以在每個對象上執行某些基本操作。所有對象都可以很容易地在堆上創建,而參數傳遞也得到了極大的簡化。