부모 클래스에서 자식 클래스 함수 호출
PHP에서는 부모 클래스 내의 자식 클래스에서 함수를 호출하는 것이 가능하지만 신중한 계획이 필요합니다.
다음 코드 예제를 고려하세요.
<code class="php">class whale { ... } class fish extends whale { ... }</code>
이 예제에는 고래 클래스와 이 클래스에서 상속되는 물고기 클래스가 있습니다. 목표는 고래 클래스의 myfunc() 함수 내에서 fish 클래스의 test() 함수를 호출하는 것입니다.
해결책: 추상 클래스 사용
이를 통해 추상 클래스를 활용할 수 있습니다. 추상 클래스는 하위 클래스에서 특정 메소드의 구현을 강제합니다.
<code class="php">abstract class whale { function __construct() { ... } function myfunc() { $this->test(); } abstract function test(); }</code>
업데이트된 whale 클래스에서는 이제 myfunc() 및 test()를 추상 메소드로 선언합니다. myfunc()는 하위 클래스에서 구현되어야 하는 test()를 호출합니다.
<code class="php">class fish extends whale { function __construct() { parent::__construct(); } function test() { echo "So you managed to call me !!"; } }</code>
fish 클래스에서는 test()에 대한 구현을 제공합니다. 이렇게 하면 상위 클래스의 추상 요구 사항이 충족됩니다.
이 설정을 사용하면 이제 고래 클래스의 myfunc() 내에서 fish의 test() 함수를 호출할 수 있습니다.
<code class="php">$fish = new fish(); $fish->test(); // Output: So you managed to call me !! $fish->myfunc(); // Output: So you managed to call me !!</code>
추상 클래스를 사용하여 적절한 상속을 적용하고 하위 클래스가 필요한 메서드를 구현하는지 확인합니다. 이를 통해 상위 클래스에서 하위 클래스 함수를 원활하게 호출할 수 있습니다.
위 내용은 추상 클래스를 사용하여 PHP의 상위 클래스에서 하위 클래스 함수를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!