抽象類和抽象方法

2021-07-24 16:05:45 字數 748 閱讀 2033

我認為抽象類和抽象方法是物件導向程式設計中十分重要的,利用這個特性來讓所有操作是都在基類上,實現了多型的特性。

抽象類:

1.抽象類的宣告。在類名前面的修飾符中新增abstract修飾符就能得到乙個抽象類。

2.抽象類可以包含普通方法,也可以包含抽象方法;但是,包含抽象方法的類必為抽象類。

3.抽象類無法例項化,但是可以將抽象類的引用變數指向其非抽象子類。我認為這點很重要,可以實現基於抽象類對於不同子類個體的操作,實現多型。

4.抽象類例項化公式:抽象類名 變數名 = new 繼承自此抽象類的具體子類名();

抽象方法:

1.抽象方法宣告加abstract修飾符;

2.抽象方法同時隱含為虛方法,但是不能有virtual修飾符。

3.抽象方法引入乙個虛方法,但是不提供任何實現,也就是不包含函方法體,非抽象的派生類需要重寫抽象方法。

4.使用抽象方法可以重寫基類的虛方法。「public abstract override void f();」即有abstract也有override,強制重新在其派生類中重新實現該方法。

關於抽象方法和虛方法的本質區別,我認為是:抽象方法必然會被重寫,但是虛方法可能被會重寫。

這點也造成了他們其它的區別,比如:抽象方法沒有方法實現,但是虛方法有方法實現.

以及抽象方法必須定義在抽象類中,虛方法則不必這樣。因為抽象方法必須被重寫,抽象類必須引用子類例項,

這樣就能夠保證抽象方法的重寫。假設抽象方法只是定義在普通類中,既不安全,也失去抽象的意義。

抽象方法和抽象類

思想 利用通用介面建立的一種基本形式,以此表示所有匯出類的共同部分 概念 1 抽象方法 僅有宣告,沒有方法體 2 抽象類 含抽象方法的類 要點 抽象類可以不含抽象方法 抽象類不能被例項化 不能使用 new 關鍵字 子類繼承抽象父類而不提供方法定義,則子類也必須為抽象類 抽象類可以包含屬性 方法 構造...

抽象方法和抽象類

1.什麼是抽象方法 定義 乙個方法如果沒有方法體 乙個方法不使用 直接使用分號結束的方法,才是沒有方法體的方法 則這個方法就是抽象方法 一 宣告乙個方法,不適用 而直接分號結束 二 如果是抽象方法,必須使用 abstract 抽象關鍵字來修飾 三 不是抽象類,不可以使用抽象方法 2.什麼是抽象類 一...

抽象方法和抽象類

抽象方法和抽象類必須使用abstract修飾符來定義,有抽象方法的類只能被定義成抽象類,抽象類裡可以沒有抽象方法。抽象類和抽象方法的原則如下 1 抽象類必須使用abstract修飾符來修飾 抽象方法也必須使用abstract修飾符來修飾,抽象方法不能有方法體。定義抽象方法只需要在普通方法上增加abs...