"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP의 부모 클래스에서 자식 클래스의 함수를 호출하는 방법은 무엇입니까?

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

2024-11-04에 게시됨
검색:559

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

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

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 !!";
  }
}

해결책

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

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();

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

릴리스 선언문 이 글은 1729297696에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3