實現界面而不是繼承.NET中的類有什麼好處?但多重繼承除外執行界面優於繼承類
0
A
回答
2
單一繼承語言中接口的一個關鍵優勢是接口可以在不共享通用根的類上實現。
另一點是接口允許所謂的接口繼承而不是實現繼承。這有時是非常有用的,但真正的多重繼承方面缺乏實現多繼承的C#的關鍵弱點,爪哇等
5
.NET中的類可以實現多個interfaces,但僅從一個基類派生。
可以實現一個接口explicitly。
2
沒有「好處」,它只是不同的東西。實現接口說「我可以做點什麼」,而嵌入類表示「我是某事」。
+1
這是一個相當迷人的視圖。這就好像說編譯語言並不比編寫機器代碼更實際,因爲它們不同。當你必須在兩種不同的東西之間進行選擇來解決同樣的問題時,比較就會變得有意義 – 2011-05-07 16:37:53
0
人們可以想到實現多個接口,等同於從多個純抽象基類繼承的支持者。因此,在某種程度上,概念上的差異只能歸結爲在實現接口時,您不會免費獲得實現。
相關問題
- 1. PHP OOP界面分類繼承
- 2. 界面演變 - 繼承返回類型
- 3. 繼承界面還是Impliment界面?
- 4. 執行OOP繼承
- 5. 執行Javascript繼承
- 6. 在php中繼承執行__constructor()繼承
- 7. C++執行條件對繼承類
- 8. 遊戲的繼承/界面設計
- 9. Java界面繼承和擴展
- 10. 繼承執行不工作
- 11. C++:繼承優先
- 12. ExtJS面板繼承/基類
- 13. 在定義自定義界面時繼承庫類
- 14. 在用戶界面中使用許多類從基繼承
- 15. 繼承Python類繼承docstrings
- 16. c#在依賴於繼承類的初始化的基類上執行代碼
- 17. 其他繼承類中的繼承類
- 18. C#執行函數繼承主類數組中的類
- 19. 頁面繼承
- 20. C#集繼承類等於基類
- 21. 繼承 - 特定於目標的繼承類C#
- 22. 優勢多重繼承的
- 23. 繼承EF代碼優先
- 24. 關於多繼承和虛繼承
- 25. 類繼承
- 26. 繼承基類
- 27. 類繼承
- 28. Javascript類繼承
- 29. 繼承PHP類
- 30. 繼承類
可能重複的[接口或抽象類?](http://stackoverflow.com/questions/1165332/interface-or-abstract-class) – 2011-05-07 16:23:53
我同意邁克爾,這似乎是重複的。 OP應該參考那些答案來獲得指導,或者應該修改這個問題以產生實質性差異。 – 2011-05-07 16:47:40
[Interface vs Base class]的可能重複(http://stackoverflow.com/questions/56867/interface-vs-base-class) – nawfal 2014-07-07 09:49:50