- ベストアンサー
オブジェクト指向の勘違い?
オブジェクト指向とはナンですか。 私の考えているオブジェクト指向はこうです。 データを受け取る機能のあるスクリプト データを特定の加工するスクリプト データを保存するスクリプト 加工されたデータを表示するスクリプト 等がありスクリプト(ブロック)ごとに機能してそれをいろいろとくみあわせて所望のソフトを作り上げるのを 誠に勝手ながらオブジェクト指向と考えているのですが 間違っていますか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> データを受け取る機能のあるスクリプト > データを保存するスクリプト > 加工されたデータを表示するスクリプト アクセッサー? > データを特定の加工するスクリプト メソッド? それらスクリプトが関連性をもつ1つの物事(オブジェクト・部品)である時、 それを1つの物事としてまとめている。 ここでは、『データ』と『受け取る機能』・『保存』・『表示』『加工』が 密接に関係しているならば、それを1つの物事(オブジェクト)としてまとめます。 そうやってまとめていった複数の物事を、ソフトを作る為に利用するのが オブジェクト指向ですね。 各スクリプトの再利用とは別です。 関係してクラス概念を学ぶはずです。
その他の回答 (3)
- PED02744
- ベストアンサー率40% (157/390)
すみません。PHPを知らないので、そもそもPHPでオブジェクティブなコーディングができるのかどうかもわかっていませんが、 オブジェクト指向というのは、あなたが書かれているところの「スクリプト」の中の構造の話なので、スクリプトを組み合わせるというのは、ちょっと違うようです。 C++やJAVAですと、クラスという単位があり、その中に情報を保持している部分とその情報を外部に伝える部分が存在します。 情報を保持しておく部分は直接外部から見られる事はありません。 情報を見たり書き換えたりするためには、必ず外部に伝える部分を通さなくてはいけません(カプセル化) 例えば、今回のご質問は、あなたが「手という外部に伝える部分を通してキーボードから入力されたものがみんなに見られている」わけです。 けして、あなたの頭の中で考えたものが「どろっ」っと画面に表示されているわけではありません(笑) この場合、「『あなた』オブジェクトの挙動として、手というメソッドを使って『あなたの考え』という情報が外部に出力された」ということになります。
お礼
有難うございます。
- chie65536
- ベストアンサー率41% (2512/6032)
データを受け取る機能のあるオブジェクト データを特定の加工するオブジェクト データを保存するオブジェクト 加工されたデータを表示するオブジェクト 等がありオブジェクト(ブロック)ごとに機能してそれをいろいろとくみあわせて所望のソフトを作り上げること。 言い換えれば、 オブジェクトにデータを受け取る機能を持たせたり オブジェクトにデータを特定の加工する機能を持たせたり オブジェクトにデータを保存する機能を持たせたり オブジェクトに加工されたデータを表示する機能を持たせたり など、オブジェクト(ブロック)ごとに機能を持たせてそれをいろいろとくみあわせて所望のソフトを作り上げること。
お礼
有難うございます。
- Granatapfel
- ベストアンサー率38% (72/186)
私の考えるオブジェクト指向は・・・ ブラックボックスがいっぱいある→組み合わせて使うとなんか便利、だけどブラックボックスの中身は知らない abesouriさんの書かれていることをすっごく簡単に乱暴に言っただけですね。 よくテレビとリモコンの関係(リモコンの仕組み<中に使われている部品の種類など>を知らなくてもテレビの電源を入れる事が出来るし、テレビの仕組みを知らなくてもリモコンを使ってテレビを見ることが出来る)なんて言われてますが、オブジェクト指向という考え方自体ブラックボックスのような気がして考えるのを最近やめました。
お礼
有難うございます。
お礼
有難うございます。