一、抽象類和抽象方法的概念
在基類中的虛方法有時候不可能被呼叫到,而只是表達一種抽象的概念,用以為它的派生類提供乙個公共的介面。
c#中引入了抽象類(
abstract class
)的概念
,可以將它
定義成抽象方法
。將該方法所在的類定義成
抽象類。
抽象方法:只包含方法定義,但沒有具體實現的方法,需要
其子類或者子類的子類來具體實現。
抽象類:抽象類是能夠包含抽象成員的類。抽象類只能作為基類使用,不能被例項化。
二、抽象類和抽象方法的使用原則
1 抽象類中可以存在非抽象方法,抽象方法必須包含在抽象類中。
2 實現抽象方法用override關鍵字。如果子類沒有實現抽象基類中所有的抽象方法,則子類也必須定義成乙個抽象類。
3 抽象方法被實現後,不能更改修飾符。
4 抽象類可以被抽象類所繼承,結果仍是抽象類。
5 所有抽象的方法,在派生類中必須被實現。
下面就讓我們通過乙個例子來認識一下抽象類吧:
abstract class shapleclass //抽象類的宣告
}class shap:shapleclass
}
class program
}
執行結果如下:
C 中的抽象類 抽象方法
抽象類 abstract 修飾符可與類和方法一起使用 定義抽象類的目的是提供可由其子類共享的一般形式。子類可以根據自身需要擴充套件抽象類。抽象類不能例項化。抽象方法沒有函式體。抽象方法必須在子類中給出具體實現。在以下情況下,某個類將成為抽象類 當乙個類的乙個或多個方法為抽象方法時。當該類為乙個抽象類...
C 中的抽象類 抽象屬性 抽象方法
c 允許把類 屬性和函式宣告為abstract。抽象類不能例項化,抽象類可以包含普通屬性和抽象屬性,普通函式和抽象函式。抽象函式就是只有函式定義沒有函式體的函式。顯然,抽象函式本身也是虛擬 virtual 的。注意 類是乙個模板,那麼抽象類就是乙個不完整的模板。我們自然不可以使用不完整的模板去構造物...
抽象方法和抽象類
思想 利用通用介面建立的一種基本形式,以此表示所有匯出類的共同部分 概念 1 抽象方法 僅有宣告,沒有方法體 2 抽象類 含抽象方法的類 要點 抽象類可以不含抽象方法 抽象類不能被例項化 不能使用 new 關鍵字 子類繼承抽象父類而不提供方法定義,則子類也必須為抽象類 抽象類可以包含屬性 方法 構造...