中級 › インターフェースのメソッドを実装し忘れると Fatal error になる › パターン3
インターフェースのメソッドを実装し忘れると Fatal error になる
implementsで宣言したインターフェースのメソッドを1つでも実装し忘れると、そのクラス自体を読み込んだ時点で致命的エラーになります。
1 <?php 2 interface Serializer { 3 public function serialize(): string; 4 } 5 class Report implements Serializer { 6 _____________________________________________________ ^ 7 } 8 $r = new Report();
Fatal error: Class Report contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Serializer::serialize) in main.php on line 5
空欄を埋めて実行を通す
ReportはSerializerが要求するserialize()を実装していません。クラス定義の読み込み時点でチェックされ、実装が無ければ即座にエラーになります。
次の問題