ホームページ  >  記事  >  バックエンド開発  >  PHPで親クラス内の子クラスから関数を呼び出す方法は?

PHPで親クラス内の子クラスから関数を呼び出す方法は?

DDD
DDDオリジナル
2024-10-19 08:27:30185ブラウズ

How to Call Functions from a Child Class Within a Parent Class in PHP?

PHP で親クラスから子クラスの関数を呼び出す方法

質問:

課題:

<code class="php">class whale
{
  function __construct()
  {
    // some code here
  }

  function myfunc()
  {
  // How do I call the "test" function of fish class from here??
  }
}

class fish extends whale
{
  function __construct()
  {
    parent::construct();
  }

  function test()
  {
    echo "So you managed to call me !!";
  }

}</code>

上で定義したクラスを考えると、親クラス ("whale") 内から子クラス ("fish") の "test" 関数に効果的にアクセスするにはどうすればよいでしょうか?

答え:

このシナリオでは、PHP の抽象クラスの概念が実行可能なソリューションを提供します。抽象クラスでは、それを継承するクラスが特定の関数またはメソッドを実装する必要があります。

改訂コード:

<code class="php">abstract class whale
{

  function __construct()
  {
    // some code here
  }

  function myfunc()
  {
    $this->test();
  }

  abstract function test();
}


class fish extends whale
{
  function __construct()
  {
    parent::__construct();
  }

  function test()
  {
    echo "So you managed to call me !!";
  }

}


$fish = new fish();
$fish->test();
$fish->myfunc();</code>

説明:

「whale」を抽象クラスとして宣言し、抽象メソッド「test」を含めることで、子クラスに「test」関数を実装するという要件を強制します。これにより、「whale」クラス内の「myfunc」関数が「test」を直接呼び出すことができるようになります。

注: 抽象クラスではオブジェクトのインスタンス化が許可されません。したがって、これらは、子クラスが必要なメソッドを継承して実装するための青写真としてのみ機能します。

以上がPHPで親クラス内の子クラスから関数を呼び出す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。