クラスの連携 つづき |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
オブジェクトのタイプ?
オブジェクトには
種類があるの? |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
実際に種類がある訳じゃ
ないんだけどね。
オブジェクトは使い方に
よって様々な顔を見せる。
今までの作ってきた
オブジェクトも
視点を変えてみると
いろいろなタイプに分ける
ことができるんだ。
クラスを設計する時は
オブジェクトのタイプを
意識する必要があるんだよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
いろいろなタイプに
分けられるんだ。
どんな風に
なるのかな? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
オブジェクトの
タイプは用語
じゃないよ。
俺用語。。。 |
 |
|
 |
はいっ。 |
|
|
|
 |
|
 |
|
オブジェクトのタイプ |
|
様々な視点 |
・データの流れの視点:処理とデータ |
・時間の視点:継続使用と一時使用 |
・管理の視点:管理するオブジェクト、管理されるオブジェクト |
・数の視点:1つと複数 |
・・・ |
|
|
|
|
 |
|
 |
|
|
|
今回は
道具オブジェクトは
作ってないけどね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
工場の図を違った角度で
見ると「データの流れ」の図
になる。
オブジェクトは
処理(工場オブジェクト)と
データ(道具オブジェクト)の
オブジェクトと言える。
つまり、オブジェクトを用途に
応じて使い分けてるんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
この図は
処理オブジェクトと
データオブジェクトの
連携の流れになるんだ。
オブジェクトには
役割があるんだね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
見方を変えた
だけなのに。 |
|
|
|
 |
|
 |
|
 |
|
オブジェクトのタイプ:データの流れの視点 |
|
オブジェクトのタイプ |
オブジェクトの例 |
説明 |
処理 |
工場オブジェクト |
道具オブジェクトを製造・加工などの処理をする。 |
データ |
道具オブジェクト |
道具データ。工場によって作られる。 |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
厳密に言うと、
全てのオブジェクトは
処理(メソッド)も
データ(フィールド)も
両方持ってるからね。
ここでは、「処理」と「データ」
どっち寄りのタイプかって
ことで理解してね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
正確に言うと
工場オブジェクトも
道具オブジェクトも
処理もデータも
持ってるんだね。
うーん・・・ |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
ややこしいよね・・・
深く考えないで
いいや。。。 |
 |
|
 |
はいっ。 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
オブジェクトを時間的な視点で
分けることもできる。
今回の場合、
「工場オブジェクト」は
継続的に使用するオブジェクトだ。
プロジェクトが開始されてから
終了するまでずっと稼動するからね。
対して、「道具オブジェクト」は
一時的なオブジェクトだ。
道具は出荷されたらおしまい。
どんどん新しいものが作られるよね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
なるほど。
実は時間的にも
オブジェクトを
使い分けてたんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
いろいろな
見方ね。 |
 |
|
 |
うーん・・・
同じオブジェクト
なんだよね。 |
|
|
|
 |
|
 |
|
オブジェクトのタイプ:時間の視点 |
|
オブジェクトのタイプ |
オブジェクトの例 |
説明 |
継続使用 |
工場オブジェクト |
プロジェクト開始から終了まで使用する。 |
一時使用 |
道具オブジェクト |
生産から出荷まで一時的に使用する。 |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ゲームで言うと。
例えば、
継続使用のオブジェクトは
「ゲーム処理管理オブジェクト」。
ゲームが終わるまで
継続的に存在していろいろ
判定するオブジェクトね。
一時使用のオブジェクトは
「敵キャラオブジェクト」。
どんどん新しいものが作られて
消される一時的なオブジェクトだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
敵キャラオブジェクトは
一時的に使われる
オブジェクトになるんだ。
工場で判定されて
やられてたら消えちゃう
からなんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
これなら
分かる? |
 |
|
 |
なんとなく
分かるかも。 |
|
|
工場で消される
なんてかわいそう・・・ |
 |
|
 |
もおおー
プログラムの
話でしょ!
これじゃ勉強
進まないデショー! |
|
|