• ベストアンサー

オブジェクト指向の勘違い?

オブジェクト指向とはナンですか。 私の考えているオブジェクト指向はこうです。 データを受け取る機能のあるスクリプト データを特定の加工するスクリプト データを保存するスクリプト 加工されたデータを表示するスクリプト 等がありスクリプト(ブロック)ごとに機能してそれをいろいろとくみあわせて所望のソフトを作り上げるのを 誠に勝手ながらオブジェクト指向と考えているのですが 間違っていますか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> データを受け取る機能のあるスクリプト > データを保存するスクリプト > 加工されたデータを表示するスクリプト アクセッサー? > データを特定の加工するスクリプト メソッド? それらスクリプトが関連性をもつ1つの物事(オブジェクト・部品)である時、 それを1つの物事としてまとめている。 ここでは、『データ』と『受け取る機能』・『保存』・『表示』『加工』が 密接に関係しているならば、それを1つの物事(オブジェクト)としてまとめます。 そうやってまとめていった複数の物事を、ソフトを作る為に利用するのが オブジェクト指向ですね。 各スクリプトの再利用とは別です。 関係してクラス概念を学ぶはずです。

abesouri
質問者

お礼

有難うございます。

その他の回答 (3)

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.4

すみません。PHPを知らないので、そもそもPHPでオブジェクティブなコーディングができるのかどうかもわかっていませんが、 オブジェクト指向というのは、あなたが書かれているところの「スクリプト」の中の構造の話なので、スクリプトを組み合わせるというのは、ちょっと違うようです。 C++やJAVAですと、クラスという単位があり、その中に情報を保持している部分とその情報を外部に伝える部分が存在します。 情報を保持しておく部分は直接外部から見られる事はありません。 情報を見たり書き換えたりするためには、必ず外部に伝える部分を通さなくてはいけません(カプセル化) 例えば、今回のご質問は、あなたが「手という外部に伝える部分を通してキーボードから入力されたものがみんなに見られている」わけです。 けして、あなたの頭の中で考えたものが「どろっ」っと画面に表示されているわけではありません(笑) この場合、「『あなた』オブジェクトの挙動として、手というメソッドを使って『あなたの考え』という情報が外部に出力された」ということになります。

abesouri
質問者

お礼

有難うございます。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

データを受け取る機能のあるオブジェクト データを特定の加工するオブジェクト データを保存するオブジェクト 加工されたデータを表示するオブジェクト 等がありオブジェクト(ブロック)ごとに機能してそれをいろいろとくみあわせて所望のソフトを作り上げること。 言い換えれば、 オブジェクトにデータを受け取る機能を持たせたり オブジェクトにデータを特定の加工する機能を持たせたり オブジェクトにデータを保存する機能を持たせたり オブジェクトに加工されたデータを表示する機能を持たせたり など、オブジェクト(ブロック)ごとに機能を持たせてそれをいろいろとくみあわせて所望のソフトを作り上げること。

abesouri
質問者

お礼

有難うございます。

回答No.1

私の考えるオブジェクト指向は・・・ ブラックボックスがいっぱいある→組み合わせて使うとなんか便利、だけどブラックボックスの中身は知らない abesouriさんの書かれていることをすっごく簡単に乱暴に言っただけですね。 よくテレビとリモコンの関係(リモコンの仕組み<中に使われている部品の種類など>を知らなくてもテレビの電源を入れる事が出来るし、テレビの仕組みを知らなくてもリモコンを使ってテレビを見ることが出来る)なんて言われてますが、オブジェクト指向という考え方自体ブラックボックスのような気がして考えるのを最近やめました。

abesouri
質問者

お礼

有難うございます。

関連するQ&A

専門家に質問してみよう