C/C++言語でRPGを作ってみるスレ2
■ このスレッドは過去ログ倉庫に格納されています
0093デフォルトの名無しさん
2005/07/12(火) 18:13:56オブジェクト指向って、要はメッセージの送受信だけでプログラムの
流れを表現しましょうとゆー考え方だと思う。
例えば、プレイヤーオブジェクト P と敵オブジェクト E があって、
PがEを攻撃して2ポイントのダメージを与えたとする。
このとき、オブジェクト指向では E に「体力を2ポイント減らしなさい」
というメッセージを送る。例えば E.hp_herase(2) という具合。
ここでのミソは、E の内部構造がどうであれ、.hp_herase() という
メッセージ(つまりメソッド)が分かっていればプログラムが書ける、
というところ。仮に体力が E.hp というメンバで表されているとしても、
その値を外部から変更するのは無しにして、体力を変更するメッセージ
(メソッド)を使いましょう、ということ。
ゲーム全体がオブジェクト間のメッセージのやりとりだけで破綻なく
記述できれば、オブジェクト指向の設計として成功しているといえる。
しかし実際は、往々にしてオブジェクトの関係(メッセージのやりとり)が
チョー煩雑になったり内部メンバを直接変更したくなったりする。
「それは設計が悪いから」とゆーのがオブジェクト指向設計の切り捨て方。
■ このスレッドは過去ログ倉庫に格納されています