古庄親方の上級試験コラム#028 言語リファレンス オブジェクト インターフェイス

目次

オブジェクト インターフェイス

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

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次