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>
1 つの解決策は、クラスを継承して実装する必要がある必須の関数を定義する抽象クラスを利用することです。変更されたコードは次のとおりです:
<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() を呼び出すことで、fish クラスの test 関数を whale クラスの myfunc 関数から呼び出すことができます。このアプローチでは、子クラスがテスト関数を実装する必要があります。
以上がPHPで親クラスから子クラスの関数を呼び出す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。