C#點滴 - 抽象類與介面區別

iDotNetSpace發表於2010-03-29

1. 抽象了除了能夠定義抽象成員之外,還能提供一些成員的具體實現細節。而介面只能包含一組抽象的成員定義。

 

2. 抽象類和介面都能提供對多型的支援。區別在於,抽象類要實現多型,必須存在繼承它的子類,而不能是同級別或者高一級別的類。介面支援多型,沒有繼承層次結構的限制。只要一組類實現了介面,這組類就體現了多型的行為。一個例子就是:System.Array,System.String沒有父子關係但是他們都實現了ICloneable這個介面。

 

3. 抽象類派生型別在繼承父類成員的同時必須實現抽象成員,這在某些時候子類未必有意義。而介面則可以提供更靈活的插入式處理方式:需要時,在任何繼承層次中實現介面。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-630629/,如需轉載,請註明出處,否則將追究法律責任。

相關文章