c 學習筆記 抽象類 抽象方法 抽象屬性

2021-06-23 01:39:38 字數 1513 閱讀 1420

抽象類與抽象方法:

先說些概念的東西:

在乙個類前面加上「abstract」關鍵字,此類就成為了抽象類。 對應的,乙個方法類前面加上「abstract」關鍵字,此方法就成為了抽象方法。

abstract class fruit 

//抽象類

注意抽象方法不能有實現**,在函式名後直接跟乙個分號。

抽象類專用於派生出子類,子類必須實現抽象類所宣告的抽象方法,否則,子類仍是抽

象類。

好了,說一下我個人的理解吧:抽象類就是定義乙個類(裡面不止是有方法還有屬性,屬性等等講),裡面都是些想要被重寫的方法(屬性),然後方便子類重寫,抽象類的抽象方法就不能寫實行**,子類去寫。也可以理解,抽象類裡的抽象方法(屬性)都很抽象,每個子類的實現**都不一樣,這樣就方便子類去寫,也就不必虛擬和重寫了。

還有就是抽象類裡的所有抽象方法,子類都要用到。

看個列子吧:

namespace

studytemp

public

abstract

void

growwhere();

} class

: fruit

} class

banana

: fruit

} class

program

} }

截圖:

這個列子還想說一些細節方面的:

包含抽象方法的類一定是抽象類,但抽象類中的方法不一定是抽象方法。也就是當乙個類裡有乙個方法是抽象方法,那麼這個類就是抽象類,但是抽象類裡可以有不抽象的方法和屬性。就不如上面的sayhello方法。

在呼叫的時候就應該這樣:抽象類 抽象類變數名 = new 繼承自此抽象類的具體子類名( );

抽象屬性

剛才說了,除了方法可以是抽象的之外,屬性也可以是抽象的。

先給個例子吧,也是水果的:

看到了,我們對屬性也進行了重寫。

C 抽象類 抽象屬性 抽象方法

抽象類往往用來表徵對問題領域進行分析 設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。下面我們以水果為例,首先定義抽象類fruit,抽象類中有公共屬性vendor,抽象屬性price和抽象方法growinarea,1 public abstract class fruit...

抽象類 抽象方法

抽象類 1.類名前有abstruct修飾。有構造方法。在建立抽象類的子類的時候,還是會先建立抽象父類的物件的。2.抽象類不能例項化是指不能手動的new。抽象方法 1.抽象方法 沒有方法體且需要用abstruct關鍵字修飾 作用 需要改變的地方都應該是抽象。抽象方法只能存在於抽象類或介面中。2.有抽象...

抽象類,抽象方法

1 抽象類中可以有實現的方法。抽象方法必須在抽象類中。using system using system.collections.generic using system.linq using system.text namespace test 抽象類可以包含抽象屬性 public int age...