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