ドキュメント : Programming
-
【PHP】クラスの継承(extends) - 既存クラスの定義を引き継ぐクラス
クラスの継承は“クラス定義において、既存クラスの定義を引き継ぐこと”です。extendキーワードを使って継承し、継承元をスーパークラス、継承先をサブクラスと呼びます。
-
【PHP】オーバーライド - スーパークラスのメソッドをサブクラスで再定義する
オーバーライドは“サブクラスでスーパークラスのメソッドを再定義すること”です。オーバーライドするには、スーパークラスの対象メソッドと同じ名前、同じ引数のメソッドをサブクラスで定義します。
-
【PHP】オーバーロード - PHPは可変長引数リストで類似実装する
オーバーロードは“クラスに引数の型・数が異なる同名のメソッドを複数定義すること”です。PHPはオーバーロードをサポートしていませんが、可変長引数リストを使って類似実装することができます。
-
-
【PHP】parent - スーパークラスのメソッド呼び出し
parentキーワードは“スーパークラスを表すキーワード”です。クラス内で使用し、スーパークラスのメソッド等にアクセスするために使用します。parentキーワードに続いて、ダブルコロン(::)を記述し、呼び出すメソッドを指定します。
-
【PHP】アクセス修飾子 - クラスのプロパティにおけるアクセス制御
アクセス修飾子は“クラスへのアクセスを制御する仕組み”です。public、protected、privateの3種類あり、クラス外部・クラス内部・サブクラスからのアクセスを制御します。
-
-
-
【PHP】アクセス修飾子とオーバーライド - オーバーライド可否とアクセス修飾子の種類
オーバーライドするメソッドは、アクセス修飾子の種類(public / protected / private)によって『オーバーライド可否』と『アクセス修飾子の種類』の制限が付与されます。
-
【PHP】抽象クラス(abstract) - 継承を前提としたクラス
抽象クラスは“継承(されること)を前提としたクラス”で、classの前にabstractを記述します。名前のとおり、抽象度が高い(概念寄りな)クラスです。
-
【PHP】抽象メソッド(abstract) - オーバーライドを前提としたメソッド
抽象メソッドは“オーバーライド(されること)を前提としたメソッド”で、先頭にabstractを付け、ブロック({})は記述しません。具象クラスは必ず抽象メソッドをオーバーライドして実装する必要があります。
-
-
【PHP】インターフェース(interface / implements) - クラスに実装するメソッドの定義
インターフェースは“クラスに定義するメソッドを定義したモノ”です。interfaceとimplementsを使用し定義と実装を行います。インターフェースを実装したクラスはメソッドのオーバーライドが必須です。
-
【PHP】無名関数(クロージャー) - 名前のない関数(Closure)
無名関数は“名前のない関数”です。実態はPHPに標準で用意されたClosureクラスのオブジェクトで、構文は基本的に関数と同じですが、関数名は記述しません。また、無名関数は引数に使うことができます。