オブジェクト指向プログラミング

PHPのオブジェクト指向プログラミングについてのリファレンス。

  • オブジェクト変数の値渡し

    オブジェクトの値渡しとは、あるオブジェクト変数の値を、他のオブジェクト変数に代入すること。2つのオブジェクト変数は、別々のオブジェクト変数となる。

  • オブジェクト変数の参照渡し

    オブジェクト変数の参照渡しとは、あるオブジェクト変数を、他のオブジェクト変数から参照すること。一方のオブジェクト変数は、もう一方のオブジェクト変数の、別名(エイリアス)となる。

  • クラス、プロパティ、メソッドの、定義と呼び出しの基本

    クラス、プロパティ、メソッドの、定義と呼び出しの基本的書式。

  • クラスの定義と命名規則

    クラスの定義は、classのあとに、半角の空白、クラス名を書き、次に、プロパティやメソッドを、波括弧{}で一括りにして書く。

  • プロパティの定義と命名規則

    プロパティの定義は、public、protected、privateにより、アクセス可能範囲を宣言したあとに、半角の空白、$、プロパティ名を続けて書き、次に、代入演算子を使い、プロパティに値を設定する。

  • プロパティのアクセス可能範囲

    プロパティは、public、protected、privateにより、アクセス可能範囲(参照可能範囲/アクセス権/アクセス制限)を宣言する必要がある。

  • メソッドの定義と命名規則

    メソッドの定義は、functionのあとに、半角の空白、メソッド名を書き、次に、メソッド内の処理文を、波括弧{}で一括りにして書く。

  • 引数付きメソッド

    メソッドは、引数で、データを受け渡すこともできる。

  • メソッドのアクセス可能範囲

    メソッドは、public、protected、privateにより、呼び出し可能範囲(参照可能範囲/アクセス権/アクセス制限)を宣言することができる。何も宣言しない場合は、publicとなる。

  • インスタンスを作成

    インスタンスは、newのあとに、クラス名を書き、オブジェクト変数に代入することで作る。インスタンスを作ることで、プロパティやメソッドにアクセスできるようになる。

  • 疑似変数$thisで、メソッドから同じクラス内のプロパティへアクセス

    メソッドの内部から、同じクラス内のプロパティへアクセスするには、疑似変数「$this」を使う。

  • 疑似変数$thisで、メソッドから同じクラス内の別のメソッドを呼び出す

    メソッドの内部から、同じクラス内の別のメソッドを呼び出すには、疑似変数「$this」を使う。

  • オブジェクト定数(クラス内定数)

    オブジェクト定数(クラス内定数)は、「const」キーワードを前に付けて定義する。

  • 静的プロパティ

    静的プロパティは、プロパティを定義するときに、「static」キーワードを前に付けて定義する。静的プロパティには、「クラス名::$プロパティ名」で、アクセスする。インスタンスや、矢印演算子「->」を使ったアクセスはできない。

  • 静的メソッド

    静的メソッドは、メソッドを定義するときに、「static」キーワードを前に付けて定義する。静的メソッドは、「クラス名::メソッド名()」で呼び出すことができる。静的メソッドの内部から、疑似変数「$this」で呼び出すことはできない。

  • 引数付き静的メソッド

    静的メソッドは、引数で、データを受け渡すことができる。

  • コンストラクタ・メソッド

    コンストラクタ・メソッドのあるクラスのインスタンスを作成すると、その度に、コンストラクタ・メソッドを呼び出す。

  • 引数付きコンストラクタ・メソッド

    コンストラクタ・メソッドは、引数で、データを受け渡すことができる。

  • デストラクタ・メソッド

    デストラクタ・メソッドのあるクラスのインスタンスを破棄すると、デストラクタ・メソッドを呼び出す。

  • 「extends」キーワードで、他のクラスのプロパティとメソッドを継承

    他のクラスのプロパティとメソッドを継承するには、「extends」キーワードを使う。複数のクラスから継承することはできない。

  • 同じクラスのオブジェクト定数(クラス内定数)へアクセス

    同じクラスのオブジェクト定数(クラス内定数)へアクセスするには、「self」キーワードを使うことができる。

  • 親クラスのオブジェクト定数(クラス内定数)へアクセス

    親クラスのオブジェクト定数(クラス内定数)へアクセスするには、「parent」キーワードを使うことができる。

  • 同じクラスの静的プロパティへアクセス

    同じクラスの静的プロパティへアクセスするには、「self」キーワードを使うことができる。

  • 親クラスの静的プロパティへアクセス

    親クラスの静的プロパティへ、子クラスからアクセスするには、「parent」キーワードを使うことができる。

  • 同じクラスの静的メソッドを呼び出す

    同じクラスの静的メソッドを呼び出すには、「self」キーワードを使うことができる。

  • 親クラスの静的メソッドを呼び出す

    親クラスの静的メソッドを、子クラスから呼び出すには、「parent」キーワードを使うことができる。

  • 親クラスから継承したメソッドをオーバーライド(再定義)

    親クラスから継承したメソッドをオーバーライド(再定義)するには、子クラス内で、同じメソッド名のメソッドを定義する。

  • finalメソッド

    子クラスで、メソッドを、オーバーライド(再定義)できないようにするには、親クラスでメソッドを定義するときに、finalキーワードを前に付け、finalメソッドにする。

  • finalクラス

    子クラスを作れないようにするには、親クラスを定義するときに、finalキーワードを前に付けて定義する。finalクラスを拡張し、子クラスを作ろうとすると、エラーとなる。

  • 親クラスのコンストラクタ・メソッド

    子クラスにコンストラクタ・メソッドがなければ、親クラスのコンストラクタ・メソッドを、自動的に呼び出す。子クラスにコンストラクタ・メソッドがあるときは、親クラスのコンストラクタ・メソッドを、自動的には呼び出さない。親クラスのコンストラクタ・メソッドを呼び出すには、子クラスのコンストラクタの中で、parent::__construct();とする。

  • 親クラスのデストラクタ・メソッド

    子クラスにデストラクタ・メソッドがなければ、親クラスのデストラクタ・メソッドを、自動的に呼び出す。子クラスにデストラクタ・メソッドがあるときは、親クラスのデストラクタ・メソッドを、自動的には呼び出さない。親クラスのデストラクタ・メソッドを呼び出すには、子クラスのデストラクタの中で、parent::__destruct();とする。

  • 抽象クラス、抽象メソッド

    抽象クラスは、クラスを定義するとき、「abstract」キーワードを前に付けて定義する。抽象クラスは、インスタンスを作れない。抽象メソッドは、メソッドを定義するとき、「abstract」キーワードを前に付けて定義する。抽象メソッドを持つクラスは、抽象クラスでなければならない。抽象メソッドは、実装を定義できないので、実装は、子クラスにおいて、必ず定義しなければならない。

  • インターフェイス

    インターフェイス(オブジェクト・インターフェイス)は、あるクラスが実装する必要があるメソッドを、宣言しておくもの。

  • インターフェイスの継承

    インターフェイス(オブジェクト・インターフェイス)は、クラスと同様、「extends」演算子で継承できる。

  • 複数のインターフェイスの継承

    インターフェイス(オブジェクト・インターフェイス)は、複数のインターフェイスを継承できる。「extends」演算子のあとに、複数のインターフェイスを、カンマで区切りで指定する。

  • インターフェイスの定数

    インターフェイス(オブジェクト・インターフェイス)における定数は、オブジェクト定数(クラス内定数)同様、「const」キーワードを前に付けて定義する。アクセスは、インターフェイス名::定数名。

  • クラスやインターフェイスをオートローディング

    未定義のクラスやインターフェイスを使おうとすると、自動的に呼び出す(オートローディングする)ようにするには、spl_autoload_register関数を使う。

  • オブジェクトの反復処理

    アクセス権限がある プロパティは、foreach文などの反復処理に使用できる。

スポンサード リンク