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

PHP의 상위 클래스 내의 하위 클래스에서 함수를 호출하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-19 08:27:30186검색

How to Call Functions from a Child Class Within a Parent Class in PHP?

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

질문:

다음 코드를 고려하여 설명하세요. 과제:

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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