簡述C 之sealed 修飾符

2021-10-06 09:23:53 字數 778 閱讀 6243

用於類時,表示該類不能再被繼承,不能和 abstract 同時使用,因為這兩個修飾符在含義上互相排斥

用於方法和屬性時,表示該方法或屬性不能再被重寫,必須和 override 關鍵字一起使用,因為使用 sealed 修飾符的方法或屬性肯定是基類中相應的虛成員

通常用於實現第三方類庫時不想被客戶端繼承,或用於沒有必要再繼承的類以防止濫用繼承造成層次結構體系混亂

恰當的利用 sealed 修飾符也可以提高一定的執行效率,因為不用考慮繼承類會重寫該成員

示例:

using system;

using system.collections.generic;

using system.text;

namespace example06

public virtual void g()

}

class b : a

public override void g()

}

class c : b

}static void main(string args)

}}

結果:

類 b 在繼承類 a 時可以重寫兩個虛函式,如圖所示:

由於類 b 中對 f 方法進行了密封, 類 c 在繼承類 b 時只能重寫乙個函式,如圖所示:

控制台輸出結果,類 c 的方法 f 只能是輸出 類b 中對該方法的實現:

a.fa.g

b.fb.g

b.fc.g

sealed修飾符簡介

sealed在修飾類時,表示密封,即該類不能繼承,不能和abstract 抽象類 同時使用,因為sealed和abstract的屬性相互排斥,abstract來修飾抽象類,需要繼承來實現功能。而在sealed修飾的類裡面的所有方法的virtual修飾符都無效。sealed修飾類的作用是防止濫用繼承,...

Sealed 修飾符的作用

用於類時,表示該類不能再被繼承,不能和 abstract 同時使用,因為這兩個修飾符在含義上互相排斥 用於方法和屬性時,表示該方法或屬性不能再被繼承,必須和 override 關鍵字一起使用,因為使用 sealed 修飾符的方法或屬性肯定是基類中相應的虛成員 通常用於實現第三方類庫時不想被客戶端繼承...

C 修飾符 類修飾符和成員修飾符

c 修飾符之類修飾符 public internal partial abstract sealed static internal 本程式集內的成員可以訪問。partial 部分類,可以將乙個類分成幾部分寫在不同檔案中,最終編譯時將合併成乙個檔案,且各個部分不能分散在不同程式集中。c 修飾符之成員...