オブジェクト指向について調べています.
もし,下のような例なら,「データ」は格担当(人物,街路樹etc)をどのように描くのか(色,形,種類)を定義していて,「プログラム」は人物,街路樹,建物,etcを描く行為でいいんですよね?
ではこの中にある「監督的な立場の人」とはどういうことを表しているのでしょうか?
よろしくお願いいたします.
ーーーーーーーーーーーーーーーーーーーーーーーーー
例えばビルの屋上から見た風景画(全景)を描くとします。
・昔は一人で全景を描いていました。
・一人で描くのは大変なので複数人で手分けして共同作業します。
・その場合、風景を、人物,街路樹,建物,自動車,道路,遠くの山並み,etc に分けて、描く担当者に分担させます。
・それらを監督的な立場の人が遠近を考え纏め(張り合わせ)ます。
・このようにして描くと、効率がよく良質な風景画が描けるという算段です。
・オブジェクト指向の「オブジェクト」は、上記の「人物,街路樹,建物,自動車,道路,遠くの山並み,etc」が相当します。
ーーーーーーーーーーーーーーーーーーーーーーーーー
No.3ベストアンサー
- 回答日時:
まず描画作業一般としての上位クラス
・描画オブジェクト
その下位クラスに
・人物,街路樹,建物,自動車,道路,山並み
・監督者(総括描画オブジェクト)
が出来ます。
各クラス特性は、、
[描画オブジェクト](抽象クラス)
属性・・・屋上からの距離
振る舞い・・・描画処理、オブジェクト追加、削除
[人物][街路樹][建物][自動車][道路][山並み]
属性・・・屋上からの距離
振る舞い・・・描画処理
[監督者]
属性・・・描画オブジェクトリスト
振る舞い・・・描画処理、描画オブジェクト追加、削除
実装については、、
[人物][街路樹][建物][自動車][道路][山並み]::描画処理
→ それぞれの図形描画。
[監督者]::描画オブジェクト追加→ [描画オブジェクト]を
リストへ追加
[監督者]::描画オブジェクト削除→ [描画オブジェクト]を
リストから削除
[監督者]::描画処理→ 描画オブジェクトリストを、距離の
遠い順から先に描画処理を行い上書きしていく。
・・・となります。
[監督者]へ、[描画オブジェクト]として別の[監督者]を
追加することも可能です。そんな感じ
(直接ソースで書いた方が分かりやすい気が、自分でも
する。Compositeパターン?)
No.2
- 回答日時:
オブジェクト指向で考えると、あまりいい例では有りませんね。
(1)まず「オブジェクト」というものは独立した個体です。
(2)ある性質を持っています。
(3)他からメッセージを受け取って「ある振る舞い」をします。
と言うことから言えば絵に描かれた「人物,街路樹,建物,自動車,道路,遠くの山並み,etc」は上の条件を満たさず、「オブジェクト」では有りません。振る舞いを持ちません。
この場合「オブジェクト」とは監督者と各担当者なのですね。
監督者も各担当者も個性や地位、名前という「性質:プロパティ」を持ち、メッセージの受発信を行い、ある振る舞いをします。
もう一度かみしめて見てください。
ただ、もっと違う前提を置けば、「人物,街路樹,建物,自動車,道路,遠くの山並み,etc」がオブジェクトになる事は充分ありえます。それぞれが性質をもち、外から指令(環境の変化)を受けてある振る舞いをするということは至極当然の事です。
No.1
- 回答日時:
オブジェクト指向の特徴は幾つかあるのですが、差分という考え方をすると理解しやすいと思います。
オブジェクトAとオブジェクトBがあったとして、AとBが似ているならば、Aを設計し、AとBの違いを設計することで、Bを一から設計する必用がなくなるという概念です。
例えば人物を描く場合、人物専門を「人物描画クラス」、実際の担当者を「人物描画クラスのインスタンス」などと呼ぶことが多いですが、人物と自動車のように全く似ていないものは、全く別のクラスを設計することになります。
例えば男性を描く場合と女性を描く場合なら、まず人物描画クラスを作成し、その後、差分として男性描画クラスと女性描画クラスを作成するような考え方をすれば、オブジェクト指向っぽいかなと思います。
daxue さんの例示している幾つかの要素は、ほぼオブジェクト指向とは関係ないと思います。単純にプログラムの手順を説明しているような感じです。オブジェクト指向とは別に、エージェント指向というのがあるのですが、こちらはまだ概念が確立されていないようですが、なんとなく似ているような気がします。
うーむ、回答になっていないですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 地図・道路 県道や国道沿いにある街路樹って必要ありますか? 標識や看板やお店の位置が視認しづらくなるだけですよね 3 2023/08/01 23:04
- 一眼レフカメラ sonyのミラーレス一眼カメラ 1 2022/10/27 14:12
- アニメ 今のアニメでは遠くからの第三者視点ではなくキャラの顔をアップしたりキャラの体にまとわりつくようなカメ 1 2023/05/04 14:33
- 地理学 風景イラストを描く方に質問ですが、自然物の知識はどうつけてますか? 人工物、例えば建造物なら、「どの 1 2022/11/02 16:27
- 事件・犯罪 ビッグモーターの「街路樹枯らした問題」 罪に問える? 36 2023/07/31 09:04
- その他(学校・勉強) 絵の描くのが下手な人、字を書くのが下手な人は記憶力が悪い? 7 2022/07/18 07:32
- 美術・アート 画家の名前を教えて下さい。 40年ぐらい前に日本で展覧会がありました。欧米の著名な画家です。 全体が 4 2022/07/09 06:21
- Word(ワード) ワード。フリーフォームの使い方が分かりません。 1 2022/10/06 16:18
- 洋画 海外映画で描かれる日本について 8 2022/06/05 20:59
- レトロゲーム ファミコンのインベーダの質問その3 背景にインベーダーを描画したとしても、なぜ動けるのか? 3 2022/07/08 16:58
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ListBoxで改行したい
-
給紙トレイをダイアログを使わ...
-
コンボボックスのテキストを消...
-
COLORREF color の反転色
-
VC++ MFCチェックボックスの色...
-
BCB5:Canvas->FrameRectで描画...
-
VBA Graph描画でのマーカ設定
-
画面に絵を出す方法
-
access2021 更新前に処理をしたい
-
パソコンへの「Dropbox...
-
worksheetFunctionクラスのVloo...
-
VBA シートのボタン名を変更し...
-
実行時エラー 438になった時の...
-
VBA(エクセル)で自動的にボタン...
-
カメラスクロールするのを動画...
-
ExcelVBAのユーザーフォームの...
-
「Columns("A:C")」の列文字を...
-
eclipseのデバッグ中に変数の値...
-
【Excel VBA】マクロをボタンに...
-
ユーザーフォームを表示中にシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ListBoxで改行したい
-
for文の実行速度を遅くしたいの...
-
給紙トレイをダイアログを使わ...
-
win32api複数のタイマーを同時...
-
VB.NETでグラフィックを描くと...
-
C#を用いて描画する四角形の角...
-
MFCでのコンボボックスについて
-
画面に絵を出す方法
-
Word 描画オブジェクトを削除...
-
PowerPoint の VBA
-
C#で壁の当たり判定と自キャラ...
-
VB.netで図形描画ができません^^;
-
円の頂点の求め方を知りたいです。
-
Excel 2007で、フリーフォーム描画
-
ビットマップに描画をしてピク...
-
図の削除直後の再描画
-
VB.NETでphotoshopのレイヤーの...
-
C# DrawImage 物理サイズでな...
-
VC;;6.0のMFCで線を簡単に引け...
-
COLORREF color の反転色
おすすめ情報