用於類時,表示該類不能再被繼承,不能和 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 修飾符之成員...