攻撃の種類(複数)によって処理を変えたいのですが、IF分を使わず書くにはどのようにしたらいいでしょうか?
AttackControl attackControl = new AttackControl;
attackControl.setAttack(Attack attack); // 攻撃を設定する
class AttackControl {
public void setAttack(Attack attack) {
if (attack isInstance of Tati) {
System.out.println("太刀での攻撃です");
} else if (attack isInstance of Yumi) {
System.out.println("弓での攻撃です");
} ..... else {
System.out.println("それ以外の攻撃です");
}
}
}
Attackクラスに
public enum AttackType {
Tachi {@Override
protected void setAttack(Attack attack) {attack.setAttack_Tachi();}
},
Yumi {@Override
protected void setAttack(Attack attack) {attack.setAttack_Yumi();}
};
protected abstract void setAttack(Attack attack);
};
を記載してAttackTypeによって振り分けをしたほうがいいでしょうか?
Java入門・初心者質問スレ Part.11
■ このスレッドは過去ログ倉庫に格納されています
214デフォルトの名無しさん (ワッチョイ 9eba-2VRv)
2021/10/10(日) 19:41:18.74ID:xYtCvT0F0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- マヨネーズにわさび、山椒、卵の黄身、ラー油、オリーブオイルを入れてよく混ぜてください
- カメラのキタムラとかいう穴場
- 千晴とVIPの深夜の遊戯
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- ひろゆき「愛があるから人は苦しまなきゃいけないんだね」
