在 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()从whale类的myfunc函数调用fish类的test函数。这种方法确保子类必须实现测试功能。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3