読者です 読者をやめる 読者になる 読者になる

よーやまブログ(PHPと自動化と語学と資格)

PHPと自動化と語学にハマったWebプログラマー。主にWebネタ、MySQL、Linux、Apache、語学をやるよ

【初心者向け】 オブジェクト指向って何? メリット、分かりやすいサイト、書籍について調べてみた。

PHP プログラミング、アルゴリズム、サンプルプログラム

どうも、yohyamaです。

プログラミング経験者なら必ず一度は聞いたことがある「オブジェクト指向」についてまとめてみました。

  

オブジェクト指向とは?

色々な説明がありますが、「あくまで設計の考え方の1つ」と考えるのが良いと思います。

別にオブジェクト指向でなくてもプログラムは動くし、システムだって作れるのです。

 

オブジェクト指向が生まれた経緯

今までは良かったのですが、ソフトウェア開発の歴史の中で大人数でプログラミングをしたり、保守をする上で大変だという経緯があってオブジェクト指向の考えが生まれました。

 

オブジェクト指向のメリット

・重複箇所が少なくなるため、機能の追加などの仕様変更があったときに、コードを直す箇所が少なくて済む。

・どこを修正すればいいのかを判断しやすいので、大規模開発に向いている。

・継承、インスタンス化など、コードを再利用しやすい。

・それぞれの機能の独立性が保たれているため、コードを直した場合の影響範囲が少ない。

 

※ただ、いくらオブジェクト指向の機能がある言語でも、そもそもコードが汚く書かれていれば、上のようなメリットはありませんので注意です。 

 

オブジェクト指向のデメリット

・行数が多くなる。

・一人でプログラミングする場合は、あまり意味が無い。

 

個人的に分かりやすくてオススメだと思ったサイト

オブジェクト指向への道 : 非オブジェクト指向から、オブジェクト指向に直すプロセスと解説が書いてあります。Javaが前提です。

プログラミング勉強中の人にオブジェクト指向とは何なのかを何となく伝えたい話 : 用語の説明が直感的で分かりやすいです。

 

わかりやすく評価が高いといわれている本

以下の二冊の評価が高いようです。

オブジェクト指向でなぜつくるのか 第2版

オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)

 

 

それでもピンと来ない人へ

いまいちピンと来ない人へ!

フレームワーク」を使用してみましょう。フレームワーク自体はオブジェクト指向で設計されたクラスですので、

感覚的に「こういう感じで使用するのか」という理解が出来ると思います。