ゲームプログラムなら俺に聞け31 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0414デフォルトの名無しさん
2015/06/01(月) 02:52:20.17ID:s3ZcdtNuはいバカ一人発見。
攻撃はプレイヤーと敵との間に跨る処理なのに、プレイヤーもしくは敵の、
どちらか片方のメソッドに実装してしまってよいの?
カプセル化ってなんでしたっけ。自分の受け持つことだけをするのが基本ではなかったかな?
OOPに執着するあまり、OOPの基本すら忘れる。それがOOPの罠。糞みたいなコードを量産する羽目になる。
ということで、
battle( player, enemy );
もしくは状態が必要でクラス化したほうが良い場合は、
battle_class->battle( player, enemy );
が自然な発想というもの。むしろこういった自然な記述をサポートするのがOOPの役目とも。
当たり前ですが、OOPは万能ではないんですよ。苦手なシチュエーションもある。
ただ闇雲に使えばよいわけではないんですよ。
多くの人がこのことに気づいて、もう昔みたいにOOPバンザーイな人いなくなったでしょ。新しい、いまどきの常識だね。
だからって関数型言語に走るのはちょっと反動が強すぎると思うけどね。そんな最近の雰囲気。Ruby死んだしね。
まー多くの実用的な言語がマルチパラダイムになっている意味を理解しなさい。
■ このスレッドは過去ログ倉庫に格納されています