C 中的抽象類和抽象方法

2021-06-20 16:08:56 字數 777 閱讀 9063

一、抽象類和抽象方法的概念

在基類中的虛方法有時候不可能被呼叫到,而只是表達一種抽象的概念,用以為它的派生類提供乙個公共的介面。

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 關鍵字 子類繼承抽象父類而不提供方法定義,則子類也必須為抽象類 抽象類可以包含屬性 方法 構造...