プログラミング学習が進んでくると急にこの概念が出てきます。『オブジェクト指向』。
聞き慣れないこの言葉、初心者には謎が深すぎて謎が謎を呼び、闇へと吸い込まれていく。。。
知れば知るほど、よくわからなくなる。
今日はそんなオブジェクト指向の理解に苦しんでいるわたしが、いろんな解説を読み漁ってわかってきたオブジェクト指向の考え方について解説します!
※いま現在勉強中なので、プロの方から見て間違いがあったらご指摘くださいm(_ _)m
プログラミング関連記事
オブジェクト指向の考え方
オブジェクト指向ってどういう考え方なのでしょうか。
わたしは難しいことをわかりやすくるための手法だと思っています。
わたしたちはいろんなモノ(オブジェクト)を日々認識しながら生きています。
会社もオブジェクト、電車やバスもオブジェクト、お弁当もコーヒーもオブジェクト、わたしもあなたもオブジェクト。
オブジェクトとして身の回りのことを見て理解しています。
このモノの見方をプログラミングの世界でも取り入れたのが、オブジェクト指向です。
オブジェクト指向ではなかったら、大きなシステムほどプログラムコードが大量になって修正や追加が大変です。
どこかを直したくても、どこを直せば良いのかわかりにくいです。
でも、オブジェクト指向でプログラミングしていれば、オブジェクトごとに修正すれば良いので、わかりやすいし修正も楽です。
グループを作って、パーツごとに動作を決めていくような感じで、それをパーツとして組み合わせてひとつのシステムが出来上がる感じですね。
まあ、よくわからないんですね(笑)
初心者が勉強するレベルの内容だと、オブジェクト指向の概念を取り入れる必要性が低く、わかりやすい例を用いろうとすればするほど、本質的な意味やメリットがわかりくくなるんだと思います。
じゃあ具体的に説明したら、レベルが高すぎて初心者にはチンプンカンプンになってしまいます。
『なんかわかったようなわからないような、、、まあ、でもなんとなくわかったような気がする。。。』
初心者が目指すべきは、完全な理解と言うよりはふわふわとした理解で良いような気がします。
あとはプログラミング学習や実際のコーディングをしていく中で、だんだんピンときて腑に落ちていくものだと思います。
プログラミング関連記事
オブジェクト指向は用語が難しい
オブジェクト指向の考え方を理解するために、余計にややこしくしているのが用語の難しさですね。
オブジェクト、クラス、プロパティ、メソッド、インスタンス、コンストラクタ、カプセル化、継承などなど、、、。
言葉の馴染みの無さだけで、もう拒否反応が出てしまうヽ(=´▽`=)ノ
このあたりは、わたし自身、もっとオブジェクト指向を理解してきたら詳しく解説したいです。
オブジェクト:ひとつひとつのもの
クラス:オブジェクトを作るための定義書
プロパティ:クラスの中身の値
メソッド:クラスが行う処理
インスタンス:クラスを使ってオブジェクトを作る
コンストラクタ、カプセル化、継承、、、、まだよく分かりません・・・。
違っていたらご指摘くださいm(_ _)m
プログラミング関連記事
で、オブジェクト指向って何の?
で、オブジェクト指向って結局なんなのでしょうか?
オブジェクト指向で考えないと、扱うシステムが大きくなっていけばいくほど、いろいろ大変なんだと思います。
たとえば、このい集合体を『地球』と定義してしまうと、すべてが地球の中にあることになって、探すのも、読み込むのも、どこかを直すのにも、全体を見渡して、必要な箇所を見つけ出すのに苦労します。
それをパーツに分けて、オブジェクトの設計図を直すようにすれば、一度の修正で全部が直せる。
他で修正をやっていても、パーツが異なれば同時進行で修正できる。
全部を見渡したり、いじる必要がないので効率的なんですね、きっと。
プログラミング関連記事
まとめ 【PHP初心者向け】オブジェクト指向の考え方
PHP初心者向けにオブジェクト指向の考え方についてまとめてみました。(まとまってないけどw)
オブジェクト指向を説明するのは難しいようで、いろんな解説を読んでも例えが違っていたりして余計にややこしく混乱してきます。
たぶん、プログラミング学習を進めていくうちに、なんとなく理解できてくるものなのだと思います。ちなみにPHPに限らず、オブジェクト指向というのは他のプログラミング言語でも使える概念なので、いずれはしっかり理解しておきたいですね。
ただ、初心者向けのオブジェクト指向の説明はすごく難しいのだと思います。
あまり論理的な理解をしようとせず、感覚的な理解を深めたほうが良いように思いました。
以上、【PHP初心者向け】オブジェクト指向の考え方でした!
プログラミング関連記事