질문:
다음 코드를 고려하여 설명하세요. 과제:
<code class="php">class whale { function __construct() { // some code here } function myfunc() { // How do I call the "test" function of fish class from here?? } } class fish extends whale { function __construct() { parent::construct(); } function test() { echo "So you managed to call me !!"; } }</code>
위에서 정의한 클래스를 고려할 때 상위 클래스("whale") 내에서 하위 클래스("fish")의 "테스트" 기능에 효과적으로 액세스할 수 있는 방법은 무엇입니까?
답변:
이 시나리오에서는 PHP의 추상 클래스 개념이 실행 가능한 솔루션을 제공합니다. 추상 클래스에서는 이를 상속하는 모든 클래스가 특정 함수나 메서드를 구현해야 한다고 규정합니다.
개정 코드:
<code class="php">abstract class whale { function __construct() { // some code here } function myfunc() { $this->test(); } abstract function test(); } class fish extends whale { function __construct() { parent::__construct(); } function test() { echo "So you managed to call me !!"; } } $fish = new fish(); $fish->test(); $fish->myfunc();</code>
설명:
"고래"를 추상 클래스로 선언하고 추상 메서드 "test"를 포함함으로써 하위 클래스가 "test" 기능을 구현하도록 요구합니다. 이를 통해 "whale" 클래스 내의 "myfunc" 함수가 "test"를 직접 호출할 수 있습니다.
참고: 추상 클래스는 객체 인스턴스화를 허용하지 않습니다. 따라서 하위 클래스가 필요한 메서드를 상속하고 구현하기 위한 청사진 역할만 합니다.
위 내용은 PHP의 상위 클래스 내의 하위 클래스에서 함수를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!