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

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

2024-11-01에 게시됨
검색:393

How to Call Child Class Functions from Parent Class in PHP Using Abstract Classes?

상위 클래스에서 하위 클래스 함수 호출

PHP에서는 상위 클래스 내의 하위 클래스에서 함수를 호출하는 것이 가능하지만 신중한 계획이 필요합니다.

다음 코드 예제를 고려하세요.

class whale { ... }
class fish extends whale { ... }

이 예에는 고래 클래스와 이 클래스에서 상속되는 fish 클래스가 있습니다. 목표는 고래 클래스의 myfunc() 함수 내에서 fish 클래스의 test() 함수를 호출하는 것입니다.

해결책: 추상 클래스 사용

이를 통해 추상 클래스를 활용할 수 있습니다. 추상 클래스는 하위 클래스에서 특정 메소드의 구현을 강제합니다.

abstract class whale {
  function __construct() { ... }
  function myfunc() { $this->test(); }
  abstract function test();
}

업데이트된 whale 클래스에서는 이제 myfunc() 및 test()를 추상 메서드로 선언합니다. myfunc()는 하위 클래스에서 구현되어야 하는 test()를 호출합니다.

class fish extends whale {
  function __construct() { parent::__construct(); }
  function test() { echo "So you managed to call me !!"; }
}

fish 클래스에서는 test()에 대한 구현을 제공합니다. 이렇게 하면 상위 클래스의 추상 요구 사항이 충족됩니다.

이 설정을 사용하면 이제 고래 클래스의 myfunc() 내에서 피쉬의 test() 함수를 호출할 수 있습니다.

$fish = new fish();
$fish->test(); // Output: So you managed to call me !!
$fish->myfunc(); // Output: So you managed to call me !!

추상 클래스를 사용하여 적절한 상속을 적용하고 하위 클래스가 필요한 메서드를 구현하는지 확인합니다. 이를 통해 상위 클래스에서 하위 클래스 함수를 원활하게 호출할 수 있습니다.

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

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

Copyright© 2022 湘ICP备2022001581号-3