在 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()从whale类的myfunc函数调用fish类的test函数。这种方法确保子类必须实现测试功能。
以上是PHP中如何从父类调用子类的函数?的详细内容。更多信息请关注PHP中文网其他相关文章!