抽象成員 抽象類(abstract)、密封類(sealed)

抽象成員(類似C++中的純虛函數)

抽象成員是指設計爲被覆寫的函數成員,抽象成員只能在抽象類中聲明,它有以下特徵:
(1)必須是一個函數成員,也就是說,字段和常量不能爲抽象成員
(2)必須用abstract修飾符標記
(3)不能有實現代碼塊,抽象成員的代碼用分號表示
(4)儘管抽象成員必須在派生類中用相應的成員覆寫,但不能把virtual修飾符加到abstract修飾符
(5)類似虛成員,派生類中抽象成員的實現必須指定override修飾符

抽象成員與虛成員對比

抽象類

抽象類就是指設計爲被繼承的類,抽象類只能被用做其他類的基類,它有以下特徵:
(1)不能創建抽象類的實例
(2)抽象類使用abstract修飾符聲明
(3)抽象類可以包含抽象成員或普通的非抽象成員,抽象類的成員可以是抽象成員和普通帶有實現的成員的任意組合
(4)抽象類自己可以繼承另一個抽象類

    abstract class A{}
    abstract class B : A{}

(5)任何派生自抽象類的類,必須使用override關鍵字實現該類所有的抽象成員,除非派生類自己也是抽象類

密封類

抽象類必須用做基類,且不能像獨立的類那樣被實例化,密封類與它相反,密封類只能被用做獨立的類,它不能被用作基類,也就是它不能被繼承,密封類使用sealed修飾符標註

    sealed class A{}
    //class B : A { } 繼承自A則會出錯

 

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