目次
オブジェクト インターフェイス
https://www.php.net/manual/ja/language.oop5.interfaces.php
インタフェースは「クラスが実装する必要があるメソッドを指定するコード」を作成できます。
インタフェースは interface
キーワードを使って宣言します。
インタフェースには、定数とメソッドを書く事ができます。プロパティは書く事ができません。
インタフェースに実装を書く事はできません。
アクセス権は、すべて public
である必要があります。
インタフェースを使う時は implements
演算子を使います。
複数のインタフェースを継承する場合は、カンマ区切りでの指定になります。
複数のインタフェースで「同じ名前のメソッド」がある場合、実装を含めて「シグネチャの互換性」のルールに従う必要があります。
「シグネチャの互換性」については、25章「クラスの継承」を参照してください。
継承
インタフェースは、 extends
演算子を使って継承する事ができます。
また、「インタフェースを使いつつクラスを継承する(extends
と implements
を組み合わせる)」事は、可能です。
このコラムに関連するコードはこちらになります
https://github.com/php-engineer-examination/php8_column_expert/blob/main/src/028.php