1. 程式人生 > 實用技巧 >抽象類/抽象方法

抽象類/抽象方法

在現實生活中我們發現,一個類中的某個或某幾個方法是無法具體實現的。例如,我們前面使用的Shape類中的畫圖draw()方法。當你不知道具體要畫什麼形狀,比如長方形或者三角形時,你怎麼可能實現一個畫形狀的方法呢?在C#中,這樣的方法我們叫做抽象方法。一個類如果有一個或多個抽象方法,這個類就叫做抽象類。

  用abstract修飾符來修飾- -個類時, 該類叫做抽象類;用abstract 來修飾-一個方法時,該方法叫做抽象方法。
  abstract ReturnType abstractMethod( [paramlist] ) ;

●抽象類必須被繼承,抽象方法必須被重寫。
●抽象類不能被直接例項化,因此它一般作為其他類的基類。
●抽象方法只需宣告,而不需實現。定義了抽象方法的類必須是抽象類。

從本質上講,介面是一種特殊的抽象類,這種抽象類中指定實現該介面的類必須提供的成員,實現介面的類提供介面成員的實現。那麼我們為什麼要使用介面?主要原因有以
下三點:
●通過介面可以實現不相關類的相同行為,而不需要考慮這些類之,間的層次關係。
●通過介面可以指明多個類需要實現的方法。