PHP의 "메소드 선언은 상위 메소드와 호환되어야 함" 오류 이해
PHP에서 객체 지향 프로그래밍 작업을 할 때 "엄격한 표준: childClass::customMethod()의 선언은 parentClass::customMethod()의 선언과 호환되어야 합니다." 오류가 발생할 수 있습니다. 이 오류는 하위 클래스의 메소드 선언이 상위 클래스의 해당 메소드 선언과 일치해야 함을 나타냅니다.
가능한 원인:
오류 두 가지 주요 원인으로 인해 발생할 수 있습니다:
-
인수 불일치: 하위 클래스의 메소드는 상위 메소드와 비교하여 다른 입력 매개변수(인수)를 갖습니다. 여기에는 인수 수, 유형 또는 순서의 차이가 포함됩니다.
-
액세스 수준 불일치: 하위 클래스에 있는 메서드의 액세스 수준(공개, 비공개 또는 보호)이 다릅니다. 부모 메서드와 동일합니다. 예를 들어, 상위 클래스에서 "public"으로 선언된 메소드는 하위 클래스에서 "private"으로 선언될 수 없습니다.
호환 가능한 메소드 선언:
호환성을 보장하려면 하위 클래스의 메서드 선언이 다음 측면에서 상위 클래스의 선언과 일치해야 합니다.
- 입력 매개변수(숫자, 유형, 순서)
- 반환 유형
- 액세스 수준
문서 및 리소스:
- [공식 PHP 매뉴얼: 메소드 오버로딩](https: //www.php.net/manual/en/언어.oop5.overloading.php)
- [PHPStan: 기본 수준 메서드 호환성](https://phpstan.org/user-guide/rules/methods /basic-method-compatibility)
- [스택 오버플로: "메소드 클래스::메서드 선언은 parentClass::메서드의 선언과 호환되어야 합니다"는 무엇을 의미합니까?](https://stackoverflow.com /questions/2194559/what-does-the-declaration-of-method-classmethod-should-be- Compatible-with-that)
위 내용은 PHP에서 \'메소드 선언은 상위 메소드와 호환되어야 합니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!