現在、オブジェクトがX、Y、Zのインスタンスであるかどうかをチェックしていて、いくつかのメソッドを適用しています。どのように私はそれを因数分解の周りに行くと車、バス、自転車、電車、飛行機、...):(これらは私が(例と比較する300個のオブジェクトを持っているがあればちょうどイラスト:)JAVA - リストを使用して複数の "instanceof"をリファクタリングする
if (X instanceof Car || X instaceof Bus || ...) {
X.color = RED;
}
ですか?
Car car = new Car();
Bus bus = new Bus();
...
List<Transportation> list_t = Arrays.asList(car, bus, ...);
for (Transportation t : list_t) {
if (X instance of t)
X.color = RED;
}
任意の提案は非常に、感謝を理解されるであろう:私は、リストや配列を作るが、それは少し長いようで初期化を考えました。
これらの種類の「偽」の服がたくさんありますか?クラス階層がありますか、またはサブクラスを持つ型がありませんか? – Bohemian
訪問者パターンを調べることができます。 – Fildor
どうして 'X.color = X.getColor();'?そして、もちろん 'X.setColor();'に変更することができます。それで、車、バスなどは常に赤くなるようにして、削除することができます。 – immibis