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