C 抽象類總結

2021-05-22 16:10:41 字數 3350 閱讀 8884

c#

抽象類總結

1.

解釋什麼是抽象類?

抽象類是包含抽象方法的類。那麼什麼又是抽象方法呢?抽象方法是沒有方法內容的,只有乙個方法名和引數列表的方法。並以;結尾。為了標註他的與眾不同,在他的返回型別前加abstract

。並在class

前加abstract

簡言之,由abstract

修飾的方法和類就是抽象的方法和類。

2.

抽象類的特點

抽象類只能做父類

抽象類不能例項化,既不能用new

來產生屬於抽象類的物件

抽象類中除了抽象方法與普通方法不一樣以外,其他的部分和普通類一樣。即抽象類是普通類的特例,他特殊只是有抽象方法。所以它裡面可以有欄位,屬性,普通方法。

3.

抽象方法的特點

抽象方法是沒有方法內容的,只有乙個方法名和引數列表的方法。並以;結尾。

在方法的返回型別前加abstract

抽象方法的內容由他的繼承類根據繼承類自身情況去寫。重寫這個方法時把abstract

替換成override

注意:②③也是抽象屬性的定義和實現的方法

例如:

abstractclassclass1//定義抽象類

protected int age;

protected class1()

protectedabstract void a();//

定義抽象方法

}

class class2:class1

} //

實現方法時他的修飾符只能是範圍比父類大,或是相同

protected

override void a()

static void main() }

4.

抽象類裡的普通方法如果也想在子類中重寫,有兩種方法:

①在父類普通方法的返回型別前寫virtual

,這就告訴系統父類這個方法是虛的方法,在子類中重寫該方法時,在方法的返回型別前可以什麼也不寫,可以寫new

,也可以寫override

,然後子類物件呼叫的方法就是在子類中重寫的方法。

②在父類普通方法的返回型別前什麼都不寫,在子類中重寫該方法時,在方法的返回型別前可以什麼也不寫,可以寫new

。然後子類物件呼叫的方法就是在子類中重寫的方法。

例如:

abstract class c

}

class class1:c

//protected new void b()

//protected override void b()

protected void b()

static void main()

}

抽象類簡單總結 C

抽象類有點忘了,就網上蒐集了一些,方便下次檢視 1 乙個抽象類中可以同時有抽象方法和非抽象方法,也可以同時有抽象屬性和非抽象屬性,但是,有抽象方法或抽象屬性的類一定是抽象類,抽象類中的抽象屬性和抽象方法必須是公有的,因此必須有public修飾符,因為如果是私有的話子類就不 能訪問,無意義,所以一般情...

抽象類和抽象方法總結

抽象類和抽象方法 1 簡述抽象方法的特徵 抽象類不可以建立物件 抽象類可以建立物件 提供給子類呼叫 抽象類可以包含的成員 成員變數 成員方法 靜態方法 構造方法 final修飾的方法 只能被子類呼叫不能被重寫 抽象方法不允許有方法體,只能以分號 結尾 抽象方法只能宣告在抽象類中 含有抽象方法的類必須...

C 介面和抽象類的總結

一 介面的簡單實現 介面更好地實現了多型,體現了約定和實現相分離的原則。通過面向介面程式設計,可以降低 間的耦合性,提高 的可擴充套件性和可維護性。在物件導向程式設計中,提倡面向介面程式設計,而不是面向實現程式設計。面向介面程式設計意味著,開發系統時,主體架構使用介面,介面構成系統的骨架,這樣就可以...