>  기사  >  백엔드 개발  >  PHP의 부모 클래스에서 자식 클래스의 함수를 호출하는 방법은 무엇입니까?

PHP의 부모 클래스에서 자식 클래스의 함수를 호출하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-19 08:28:30866검색

How to Call Functions of Child Classes from Parent Classes in PHP?

PHP의 상위 클래스에서 하위 클래스의 함수를 호출하는 방법

PHP에서 일반적인 작업은 상위 클래스 내에서 하위 클래스에 정의된 함수를 호출하는 것입니다. 다음 예를 고려하십시오.

<code class="php">class whale
{
  public function __construct()
  {
    // some code here
  }

  public function myfunc()
  {
    // How do I call the "test" function of the fish class here?
  }
}

class fish extends whale
{
  public function __construct()
  {
    parent::__construct();
  }

  public function test()
  {
    echo "So you managed to call me !!";
  }
}</code>

해결책

한 가지 해결책은 클래스를 상속하여 구현해야 하는 필수 기능을 정의하는 추상 클래스를 활용하는 것입니다. 다음은 수정된 코드입니다.

<code class="php">abstract class whale
{
  public function __construct()
  {
    // some code here
  }

  public function myfunc()
  {
    $this->test();
  }

  abstract public function test();
}

class fish extends whale
{
  public function __construct()
  {
    parent::__construct();
  }

  public function test()
  {
    echo "So you managed to call me !!";
  }
}

$fish = new fish();
$fish->test();
$fish->myfunc();</code>

이 수정을 통해 $this->test()를 호출하여 고래 클래스의 myfunc 함수에서 fish 클래스의 테스트 함수를 호출할 수 있습니다. 이 접근 방식을 사용하면 하위 클래스가 테스트 기능을 구현해야 합니다.

위 내용은 PHP의 부모 클래스에서 자식 클래스의 함수를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.