ユーザー入力に応じて 3 つのメソッドのいずれかを呼び出すことができるオブジェクトを作成しようとしています。DoShape
それらを、、、、DoColor
と呼びましょうDoPowerTool
。これらのメソッドは、それぞれ基本クラスとインターフェイスの一部として存在します。
Public Class PowerTool
{
...
public virtual void DoPowerTool()
{
...
}
}
Public Interface Shape
{
void DoShape(PowerTool p);
}
Public Interface Color
{
void DoColor(PowerTool p);
}
PowerToolDoShape
がDoColor
必要なため、直観的には、これらのメソッドを PowerTool インスタンス自体に組み込むことになります。
残念ながら、PowerTool クラスで Shape と Color を直接実装することはできません。実行時まで、それが赤の四角形のジャッカーマーなのか、緑の卵型のジャッカマーなのかがわからないからです。
私は C# のデリゲートに手を出しましたが、この場合に役立つ可能性があると感じていますが、この正確なシナリオでそれらを実装する方法を知るのに十分な知識がなく、それらが正しいかどうかはわかりません私が探しているモジュラー動作を私に与えるための選択。(この点に関しては、オブジェクトの関数を単純に上書きできる Javascript に甘んじているかもしれません)。
続行する方法についての考えや提案はありますか? おそらく、私が見落としている非常に単純な解決策があるように感じます。