상위 클래스에서 하위 클래스 함수 호출
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 !!
추상 클래스를 사용하여 적절한 상속을 적용하고 하위 클래스가 필요한 메서드를 구현하는지 확인합니다. 이를 통해 상위 클래스에서 하위 클래스 함수를 원활하게 호출할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3