/*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修飾符。