sealed关键字修饰类
当一个类有sealed关键字修饰,其它类无法继承这个sealed类
示例:sealed类B可以继承A,但是C不可以继承B
class A { }
sealed class B : A { }
//class C : B { } //错误:C无法从B派生
sealed关键字修饰方法或属性
当一个类中的一个方法或属性用sealed修饰,则这个类的派生类无法重写此虚方法或虚属性。
必须是重写才能密封,所以和override一起使用
class A
{
protected virtual void MethodA() { }
protected virtual void MethodB() { }
}
class B : A
{
protected override void MethodA() { }
protected sealed override void MethodB() { }
}
class C : B
{
protected override void MethodA() { }
protected override void MethodB() //错误
{//错误:方法B是密封的不能重写}