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 !!";
}
}
1 つの解決策は、クラスを継承して実装する必要がある必須の関数を定義する抽象クラスを利用することです。変更されたコードは次のとおりです:
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() を呼び出すことで、fish クラスの test 関数を whale クラスの myfunc 関数から呼び出すことができます。このアプローチでは、子クラスがテスト関数を実装する必要があります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3