C#——抽象類(Abstract Class)、密封類(Sealed class)、接口(interface)

/*C#快要期末考試了,還是抓緊複習複習基礎知識吧...打卡Day 1*/

一、抽象類和抽象方法

1.抽象類本身不能實例化,也就是不能創建對象,只能作爲基類使用,用關鍵字abstract修飾。

2.抽象類中的成員可以是抽象成員,也可以是非抽象成員。

3.抽象方法只存在於抽象類的定義中,非抽象類中不能包含抽象方法。

定義格式:

訪問修飾符 abstract 返回值類型 方法名(參數表);

4.例題:

Which of the following is wrong?

①Abstract class could contain non abstract method//抽象類可能沒有抽象方法

②A class containing abstract method must be a abstract class.//含有抽象方法的類一定是抽象類

③An abstract class cannot be instantiated.//不能實例化

④An abstract class can be sealed class.//抽象類不可能是密封類,因爲抽象類必須要被繼承纔有意義。

二、密封類和密封方法

1.如果不希望一個類被其他類繼承,可以將該類定義爲密封類,即不能作爲基類的類。用關鍵字sealed修飾。

2.密封方法可以被繼承,但不能被派生類重寫。

3.只有被重寫的方法才能定義爲密封方法。即sealed 和override 連用。

三、接口

1.接口的聲明格式:

訪問修飾符 interface 接口名
{
    接口成員聲明
}

2.接口成員聲明不包括數據成員,只能包含方法、屬性、事件、索引等成員。

   接口只包含接口成員的聲明,不包含實現。

3.接口中方法成員的聲明格式如下:

返回值類型 方法名 (參數表)

4.接口中屬性成員的聲明格式:

類型 屬性名 {get; set; } 

5.接口成員的訪問修飾符默認是public,在聲明時不能再爲接口成員指定任何訪問修飾符。

6.接口成員不能有static、abstract、override、virtual修飾符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章