密封类和密封方法
C#中允许把类和方法声明为sealed。
对于类,这表示不能继承该类。
对于方法,表示不能再重写该方法。
sealed class FinalClass //无法继承该类
{
//...
}
class BaseClass
{
public virtual void Move()
{
//...
}
}
class DerivedClass : BaseClass
{
public sealed override void Move() //只能在重写的方法里定义sealed
{
base.Move();
}
}
在方法中使用sealed,只能是在已经被重写的方法中定义sealed,表示这个方法不可以再被重写。
密封类和密封方法的作用,是放置重写某些类导致代码的混乱,或者一些出于商业上的原因。