C 之抽象類及抽象方法

2022-07-04 04:42:19 字數 1185 閱讀 8393

本文意在鞏固基礎知識,並不是對其進行深入剖析,如若對各位高手沒有什麼作用,請繞過。

抽象類:

有時我們表達一

些抽象的東西,它是一種概括,不需要它成為一種實體,所以物件導向便有了抽象類。

具體來講:乙個員工,它屬於乙個公司,但是公司只是乙個名稱,我們不需要它成為乙個實體,所以公司就是乙個抽象類。

何時必須宣告乙個類為抽象類?(面試題)

當這個類中包含抽象方法時,或是該類並沒有完全實現父類的抽象方法時。

抽象類的特點:

抽象類使用abstract修飾符,並且它只能是用作基類。

抽象類不能例項化,當使用new運算子對其實例時會出現編譯錯誤。

允許(但不要求)抽象類包含抽象成員。(非抽象類不能包括抽象成員)

抽象類不能被密封。

抽象類可以被抽象類所繼承,結果仍是抽象類。

abstract

class

bprogram

}abstract

class

aprogram:bprogram

class

program:aprogram

}結果為:

抽象方法:

抽象方法的特點:

抽象方法是隱式的虛方法,抽象方法只能在抽象類中宣告。

抽象方法不能使用private、static和virtual修飾符。(抽象的方法預設是乙個virtual方法)

抽象方法不能在派生類用base關鍵字進行訪問。

抽象方法宣告不提供實際的實現,沒有方法體。若要實現抽象方法,需要在派生類(非抽象類)中進行重寫該抽象方法,

繼承類只有實現過所有抽象類的抽象方法後才能被例項化。

abstract 

class

bprogram

}abstract

class

aprogram:bprogram

class

program:aprogram

static

void

main(

string

args)

}

結果為:

抽象類及抽象方法

抽象類及抽象方法 如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這種類被定義為抽象類.含有抽象方法的類為抽象類。抽象類的特徵 1 不能new,例項化物件 2 乙個類只能繼承乙個抽象類 3 抽象類的修飾符不能是private 如果父類的建構函式是私有的,那麼子類不能繼承此父類。如果抽象類的建構函...

C 之抽象類和抽象方法

抽象類中的方法既可以有抽象方法,也可以有非抽象方法,可以全部都是抽象方法,也可以全部都是非抽象方法 抽象方法只能出現在抽象類或介面中,不能出現在非抽象類中 抽象類和介面不能new物件 抽象類可以繼承抽象類,也可以繼承非抽象類 籠統的,模糊,不具體的類 為什麼說籠統的呢?從上圖可以看出來,圖中有個動物...

C 之抽象類和抽象方法

概述 abstract 關鍵字 抽象類不能被例項化,抽象方法不能有方法體,抽象類中的所有抽象方法必須在子類中重寫 override 乙個抽象類可以同時包含抽象方法和非抽象方法。abstract修飾符可以和類 方法 屬性 索引器及事件一起使用。在類宣告中使用abstract修飾符以指示類只能是其他類的...