参照変数を変更することはできません。Java - 参照変数を変更する
私は2つの異なるクラスを持っています。それらをAとBとしましょう。それらは同じクラスを指定したメソッドと同じメソッドを持っています。
どのクラスをインスタンス化するかを賢明に変更する方法が必要です。
1つの方法では、どのオプションが選択されているかをチェックして、対応するクラスをインスタンス化することができます。私はこれがかさばると醜いかもしれないことを恐れているが、私はこの方法を避けようとしている。もっと賢いものがなければならない。
現在、私はAとBと同じクラスを拡張する新しいクラス(例えばC)を作るの
を考えている私は、その後、(クラスAとBはまたところでそうであるように)メソッドをオーバーライドします設定に応じてメソッドを実行します(つまり、どのクラスAまたはBが選択されているか)。メソッドはクラスAまたはBと同じように返されます。
希望私は完全な不器用さを話していません。
を使用すると、共通の基底クラス(またはインタフェース)から
A
とB
を拡張する必要がありますようにしかし、それは聞こえますオプションの量を減らすために 'createBase()'のパラメータを使用します。 – Thomas@Thomas、enumは問題ありません。私はこの例を単純化しました。 –
私はこれを読んでみるつもりです。私が扱っている問題は多少あるようです。ありがとう。 –