在我的採訪中,我被提出一些實時的場景,你可以實現接口..也寫一些代碼。
他們想問我們有抽象方法,那麼爲什麼我們需要接口...寫一些代碼。真實的例子,我們必須使用接口...不是抽象類...寫一些代碼
由於提前
在我的採訪中,我被提出一些實時的場景,你可以實現接口..也寫一些代碼。
他們想問我們有抽象方法,那麼爲什麼我們需要接口...寫一些代碼。真實的例子,我們必須使用接口...不是抽象類...寫一些代碼
由於提前
由於MSDN顯示
- 如果預計創建組件的多個版本,創建一個抽象類。抽象類爲您的組件版本提供了一種簡單而簡單的方法。通過更新基類,所有繼承類都會隨着更改而自動更新。另一方面,接口一旦創建就無法更改。如果需要新版本的界面,則必須創建一個全新的界面。
- 如果您正在創建的功能在各種各樣的不同對象中都有用,請使用界面。抽象類應主要用於密切相關的對象,而接口最適合爲無關類提供通用功能。
- 如果您正在設計小巧簡潔的功能,請使用接口。如果您正在設計大型功能單元,請使用抽象類。
- 如果您想在您的組件的所有實現中提供通用的實現功能,請使用抽象類。抽象類允許您部分實現您的類,而接口不包含任何成員的實現。
感謝mesiesta – 2012-02-23 07:25:39
「接口......提供通用功能」 - 有點誤導。 – phoog 2012-02-23 07:59:11
因爲你可以根據需要實現任意多的接口。抽象類只能從一個類繼承。
在MSDN閱讀這個偉大的文檔:
Recommendations for Abstract Classes vs. Interfaces
從Codeproject.com Abstract Class versus Interface與示例代碼了。
希望它有幫助!
你是怎麼回答的? – 2012-02-23 07:06:36
你必須先做一些搜索並自己寫一些代碼,然後詢問你具體的問題或更多的解釋,沒有人會爲你寫這段代碼。 – 2012-02-23 07:07:58
這裏的信息會幫助你。解釋得很好。 http://stackoverflow.com/questions/761194/interface-vs-abstract-class-general-oo。 – sinanakyazici 2012-02-23 07:09:51