戦士だから「戦う」コマンドを持っているわけで、人間だからではないですよね。戦えない人間だっているんですから。それに、戦士は人間の役割であって、人間を継承するものではないですよね。そう考えると、これらの設計はヤバいぞ?って見えてくると思います。あまりにも具体的過ぎるし、「is-a」の関係ですらないんですよ。 「戦士 is a 人間」は成り立っているようで成り立っていません。オークにだって、トロルにだって、リザードマンにだって「戦士」はいますから。
@@Sola.No.17 うーん。戦士や人間クラスを作らずに、キャラクタークラスを作って、インスタンス化するときに職業データの参照をメンバに持たせるということですか?すいません理解が足りなくて。 なんとなく正解は16:54辺りで水野さんが言っていたことに近い? >>「戦士 is a 人間」は成り立っているようで成り立っていません。 確かにそうですね、まずいですね。これは堀元さんが真っ先に嫌うことな気がしますがどうなんだろ。