在C#中,sealed关键字有两个作用
1. 为了确保其他类不可以派生于某一个类,可以使用sealed关键字密封该类,防止其他类继承自该类;
public sealed class Person{ }下面的语句将导致产生错误://Error:Person is sealedpublic 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 "嘿嘿"; } }