可能重複:
Interface vs Base class
Abstract classes vs Interfaces我如何選擇抽象類或接口..?
如何,我們大約可以拍攝的時候,我們必須使用接口,當抽象類的決定..?
任何想法.. ??
提前致謝!
可能重複:
Interface vs Base class
Abstract classes vs Interfaces我如何選擇抽象類或接口..?
如何,我們大約可以拍攝的時候,我們必須使用接口,當抽象類的決定..?
任何想法.. ??
提前致謝!
我的經驗法則是:當共享代碼時使用抽象類,否則使用接口。
如果您計劃在具有相同執行你的方法和屬性,然後使用抽象類,如果你想只持有所有類相同的成員的一部分,但有不同勢實現爲所有這些,然後使用界面。
換句話說使用的界面,如果你的一些派生類中的方法應該是在exacaly每個派生類相同,否則使用接口。
你想提供一個方法的共享實現?
使用抽象類。
你只是想提供一份合同,指定什麼外部功能的對象必須提供?
使用接口。
看一看這個有趣的文章,這將有助於您瞭解在CodeProject接口和抽象類之間的差異。
這也可能重複:http://stackoverflow.com/questions/761194/interface-vs-abstract-class-general-oo – 2010-08-11 17:58:37