次のクラス構造を見てみましょう。
abstract class Base {
public abstract void DoSth();
}
class Derived1 : Base {
public override void DoSth() {
}
}
これらは、いくつかの階層の基本クラスです。Derived1
ここで、 から派生した別のクラス( と呼びましょうDerived2
)をDoSth
提供したいと仮定しましょうDefault1
。たとえば、Derived1 はケースの 98% をカバーしますが、残りの 2% では、このソリューションは受け入れられず、危険でもありません。
最善の解決策は、 から派生した誰かにDerived2
、コンパイル中に DoSth を実装する必要があることを通知することです。どうやってするか?