参考
この記事は、以下の動画を参考にしています。
詳しくは、動画をご覧ください。
sealed override
あるクラスで上書きするメンバーにsealed
を付けることで、そのクラスの派生クラスでさらに上書きされるのを禁止できる。
基底クラス
class BaseClass
{
// 上書きされるメソッド
public virtual void Method() { ... }
}
1段目の派生クラス
class FirstDerivedClass : BaseClass
{
// 上書きするメソッドに sealed を付ける
// このクラスの派生クラスには、上書きさせない
public sealed override void Method() { ... }
}
2段目の派生クラス
class SecondDerivedClass : FirstDerivedClass
{
public override void Method() { ... } // ← ビルドエラー
// public new void Method() { ... } ← new による上書きは可能
}