首頁 >後端開發 >php教程 >PHP中如何從父類別呼叫子類別的函數?

PHP中如何從父類別呼叫子類別的函數?

DDD
DDD原創
2024-10-19 08:28:30946瀏覽

How to Call Functions of Child Classes from Parent Classes in PHP?

如何在PHP 中從父類呼叫子類的函數

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn