2016.12.27PHP

PHPのクラスを構成する5つの要素と基本的な記述方法

  • このエントリーをはてなブックマークに追加
Bac7469d e138 4cd9 8109 594754471795
みなさんはPHPの記述をする際に『クラス』を活用しているでしょうか。クラスはオブジェクトの材料になるもので、データをひとまとめにしたり、コードを読み易くしたりと言うメリットがあります。また、「中規模以上の開発」には必要不可欠な存在で、そこから生まれるメリットは非常に大きいです。今回は『PHPのクラス』について説明するとともに、実際にクラスを用いるための基本的な記述方法を解説いたします。
 
10,000件以上の案件から希望の案件をご紹介!

未公開案件も多数ありますので「まずは相談したい。」という方もお気軽に登録ください。

あなたに合ったフリーランス案件を探す
Banner free wide 037b570405fddeb419957475d18a005501589cadc55bfe73d5000335887322fd
【目次】
PHPのクラスとは
PHPとは
クラスとは
クラスは中規模以上の開発に必須
クラスを構成する5つの要素
プロパティ
メソッド
継承
オーバーライド
カプセル化
クラスの基本的な記述方法と注意点
クラスの基本的な記述方法
記述時の注意点
クラスの抽象化
まとめ
 

PHPのクラスとは


それではさっそくPHPのクラスについて解説していきます。
 

PHPとは

PHP(PHP:Hypertext Preprocessor)とは、HTMLに埋め込むことができるオブジェクト指向のサーバーサイド向けスクリプト言語で、動的なWebコンテンツを開発するためによく用いられています。また、学習難易度も高くないため、多くのエンジニアに人気な言語です。

ちなみに「PHP」という名前は「Personal Home Page(個人的なホームページ)」の頭文字から来ています。しかし現在では「個人」という本来のターゲットだけでなく、さまざまな団体や企業に利用されています。

クラスとは

クラスとは、オブジェクト指向プログラミングで用いるオブジェクトの材料となるものです。一連のデータや処理を1つにまとめることができるため、開発や保守管理がしやすくなるというメリットがあります。オブジェクト指向についてはオブジェクト指向言語の種類と10の特徴にまとめていますのでご覧ください。
 

クラスは中規模以上の開発に必須

先に挙げたようにオブジェクト指向言語ではクラスを用いることで、データや処理を1つひとつまとめているため、プログラムが複雑になりがちな中規模以上の開発にとってクラスは必須の要素となっています。

クラスを構成する5つの要素


クラスの基礎は以下の5つの要素で構成されています。

プロパティ

プロパティとは、クラスが持っているデータのことで、変数とも呼ばれます。プロパティは「public」、「protected」、「private」のいずれか1つのキーワードの後に続けて通常の変数を宣言するだけで定義できます。
 

メソッド

メソッドとはオブジェクト指向プログラムにおいて、各オブジェクトが持っている「自身に対する操作(関数)」のことです。メソッドという呼び方の他にも属性フィールドとも呼ばれます。
 

継承

継承とは、既存のクラスのメソッドなどを新しいクラスに引き継ぐことです。継承をした際に、既存のクラスと新しく作ったクラスには「スーパークラス」と「サブクラス」という関係性が生まれます。この関係性は次でご紹介する「オーバーライド」に必要な関係性です。
 

オーバーライド

オーバーライドとは、スーパークラスとサブクラスのメソッド名やプロパティ名が同じ場合に、サブクラスのメソッドやプロパティを優先して利用することです。これによってスーパークラスとサブクラスの間に矛盾を起こさない、統一性のある継承を行うことができます。
 

カプセル化

カプセル化とは、クラスの状態や振る舞いを外部から操作できなくすることで、隠蔽(いんぺい)とも呼ばれます。カプセル化することで外部から内容を変更されることがなくなるため、クラスの保守性が上がります。また、クラスを再利用するうえで必要のない情報を隠すことで、構造を単純化することもできます。

クラスの基本的な記述方法と注意点


それではPHPを用いたクラスの基本的な記述方法をご紹介いたします。

クラスの基本的な記述方法

PHP: クラスの基礎 - ManualにわかりやすいPHPクラスの基本的な記述例がありましたので、こちらを参考にしながら解説していきます。
 

class SimpleClass
{
    // プロパティの宣言
    public $var = 'a default value';

    // メソッドの宣言
    public function displayVar() {
        echo $this->var;
    }
}
?>
(引用:クラスの基礎)

上記の記述例の中に、クラスにとって大事な要素が3つありますので、PHP: クラスの基礎 - Manualを参考にしながら解説していきます。
 

クラス名の宣言

まずクラス名を宣言することからクラスの記述は始まります。最初は普段記述しているのと同じく[]キーワードから記述を始め、次の行で[class] というキーワードを記述したら、そのあとに続けてクラス名を記述します。上記では「SimpleClass」というクラス名になっています。これでクラス名の宣言ができました。続けて[{ }]を記述し、その中でプロパティとメソッドの宣言を行っていきます。
 

プロパティの宣言

プロパティの宣言は、[public]、[protected]、[private]のいずれかのキーワードの後に変数を宣言するだけで行えます。上記では[public]を用いて、[$var]という変数に、[a default value]という値のプロパティを記述しています。
 

メソッドの宣言

メソッドの宣言もプロパティと同じように[public]、[protected]、[private] のキーワードを使って行えます。例では[public]を用いて、[function]で[displayVar()]を宣言し、[echo $this->var;]という値のメソッドを記述しています。
そして最後は通常通り[?>]でコードを閉じます。以上がPHPでの基本的なクラス記述方法です。
 

記述時の注意点

記述時の注意点は特にありませんが、継承をしたときはオーバーライドに注意する必要があります。オーバーライドは「継承元のメソッドやプロパティ」ではなく「継承先のメソッドやプロパティ」を優先するものである、ということをしっかりと覚えておきましょう。

また、せっかくクラスを用いる記述をするならば、「コードの読みやすさ」を意識しましょう。特に自分以外のプログラマーが関わる場合は改行やコメント機能を有効活用し、誰が見ても読みやすいコードを心掛けましょう。
 

クラスの抽象化

クラスには「抽象クラス」というものがあります。抽象クラスは継承されることを前提としたクラスで、メソッド名の前に[abstract]キーワードを記述することで記述できます。これを「クラスの抽象化」と言います。抽象クラスは「どのようなメソッドであるか」ということだけが記述されたクラスなので、メソッドの詳しい値を決めずに、あるクラスの形式だけを何度も利用したいというときに便利な機能です。

まとめ


いかがでしょうか。クラスは難しい技術のようにイメージされがちですが、基本的な要素は「クラス名を定義」、「プロパティの宣言」、「メソッドの宣言」の3つだけで、そのままで複雑なものではありません。この基礎をしっかりと踏まえていればクラスを活用することは難しくありません。クラスを活用できるようになれば大規模な開発を行うときに大幅な時間短縮、工数削減の大きな武器になりますし、コードがとても読みやすくなりますので覚えておいて損はないです。
  • このエントリーをはてなブックマークに追加
10,000件以上の案件から希望の案件をご紹介!

未公開案件も多数ありますので「まずは相談したい。」という方もお気軽に登録ください。

あなたに合ったフリーランス案件を探す
Banner free wide 037b570405fddeb419957475d18a005501589cadc55bfe73d5000335887322fd

新着のコラム記事

人気のコラム記事