PHP SCHOOL.biz

PHPの学習をする為のブログです。プログラム未経験の方にも理解できるよう基本的な、PHPの知識について身に付けることができるようにわかりやすい内容にしていきたいと思っています。


PHPプログラミングでClassが必要な理由

オブジェクト指向プログラミングで記述するPHPで当たり前のように「Class」を生成し、かつClass(クラス)のプロパティやメソッドを呼び出して利用するのはなぜでしょうか?

そこで、今回はなぜオブジェクト指向プログラミングで「Class」を利用する必要があるのかついてお伝えしていきます。

・オブジェクト指向プログラミングとは?

「Class(クラス)」や「Objects(オブジェクト)」を利用するオブジェクト指向のプログラミング言語では、Web上のシステム全体を「個々の役割を持ったオブジェクトの集まり」としてとらえて考えます。

オブジェクトというパーツを組み合わせてひとつのWebシステム・Webサービスを構築していくと考えると良いでしょう。

こうすることで、Class(クラス)の処理を再利用したり、修正したりすることが簡単ですし、かつ大規模開発やチーム開発、そしてアジャイル開発に向いています。

オブジェクト指向のアイデア自体は1960年代ごろに生まれて、オブジェクトそれぞれが役割分担をしながら、全体として処理を達成する考えから来ています。

・PHPでClassを書く理由とは?

Classにメソッドや処理を書き込むことで、対象となるClassのメソッドをどこで、誰が利用しているのかをすぐに理解可能となります。

端的に言い換えれば、あらゆるところにメソッドが分散しているとコントロールしづらくなる為に、処理を全体に明示的にする利点が生まれます。

また、Class内部に限定された処理を書き換えるだけなら、変更時の影響が少なくサービスのメンテナンスが簡単になる利点もあります。

実は、プログラミングをチーム全体で行うことを想定しながら、かつ処理を限定的にしていくことで、結果として楽にプログラミングができるようにすることが「Classを作成する」大きな意味となります。

一人でプログラミングをしているだけでは、なかなか気づきづらいですが、企業単位やチーム単位での開発現場では「オブジェクト指向」は最低限理解しておいた方が良いでしょう。

・カプセル化ってなに?

オブジェクト指向プログラミングにおいては、カプセル化は重要な概念ですが、そこまで深く考える必要はありません。

基本的にはClass内部の処理を外部から簡単には参照できないようにすること、外部から簡単に処理を変更できないようにすることがその大きな存在意義となります。

カプセルに入れるように、Class内部に処理を隠しておいて、必要になったら呼び出すことで、システム上の安全性を高めることが可能です。

・コンストラクタってなに?

Classのインスタンス(実体)を生成した段階で、自動的に呼び出される初期化メソッドのことです。

コンストラクタとは組み立てるという意味で、PersonClassの場合は$nameを初期化するのもに利用しています。

・インスタンス(実体)とはなに?

まず、Classとは「プロパティとメソッド」を内包した「設計図」だと考えておきましょう。

Classがあるだけでは処理を実行するオブジェクトが存在しませんから、newメソッドを利用してClassのインスタンス化、つまり「実体化」を行う必要があります。

このクラスの処理を実行する役割を持つのが、インスタンス(実体)オブジェクトとなります。

このインスタンスの概念に関しては、Classはnewメソッドでインスタンス化するのだと簡単に考えながら、実際に何度もClassを作成して、インスタンスを生成できるようにしておくのがオススメです。

概念だけでは抽象的すぎるので、恐らく理解しづらいはずですから。


さて、PHPでオブジェクト指向プログラミングをする上での必要が概念や基礎・基本についてお伝えしてきました。

少しでも学習の一助になれれば幸いです。