在C#中,sealed關鍵字有兩個作用
1. 為了確保其他類不可以派生於某一個類,可以使用sealed關鍵字密封該類,防止其他類繼承自該類;
public sealed class Person { } 下面的語句將導致產生錯誤: //Error:Person is sealed public class Student:Person { }
注意: 密封類中不能包含虛方法(Virtual)和抽象方法(abstract),因為在密封的類沒有為派生類提供實現其虛方法和抽象方法的機會。
2.限制其他派生類重寫在當前類中提供的方法實現
public class Person { public sealed string SayHello() { return "hello" ; } } public class Student:Person { // Error:SayHello() is sealed in Person class public override string SayHello() { return "嘿嘿"; } }