如何在 PHP 中存取子類別中的父類別變數

Mary-Kate Olsen
發布: 2024-10-22 21:31:30
原創
270 人瀏覽過

How to Access Parent Class Variables in Child Classes in PHP

在 PHP 中存取父類別變數

使用繼承時,有必要存取父類別的變數。在提供的範例中,類別 B 擴展了類別 A 並嘗試回顯變數 $bb,該變數在父類別中定義為 protected。但會拋出錯誤,表示 $bb 是未定義的類別常數。

要在子類中顯示父變量,請使用以下語法:

<code class="php">echo $this->bb;</code>
登入後複製

與私有變量不同不能在類外部訪問受保護的變量,但可以在子類中訪問。因此,子類別中可以透過$this關鍵字直接存取$bb。 'parent bb' 的預期結果將以預期列印。

其他資訊:parent:: 的用法

當您需要時,可以使用parent:: 語法從父類擴展方法的功能。與問題中提供的範例不同,子類別僅存取父變量,parent:: 允許您修改或增強繼承方法的行為。

例如,如果父類Airplane 有一個私有變數$pilot 和一個將飛行員分配給$pilot 變數的建構子:

<code class="php">class Airplane {
    private $pilot;

    public function __construct($pilot) {
        $this->pilot = $pilot;
    }
}</code>
登入後複製

並且您希望建立一個擴充Airplane 的Bomber 類別並且加入一個導航器變數和一個擴充建構函數:

<code class="php">class Bomber extends Airplane {
    private $navigator;

    public function __construct($pilot, $navigator) {
        $this->navigator = $navigator;

        parent::__construct($pilot); // Assigns $pilot to $this->pilot
    }
}</code>
登入後複製

透過使用parent::__construct($pilot),您可以從子類別呼叫父類別的建構函數,將pilot參數指派給子類別中的$pilot變量,同時仍然添加導航器功能。這允許您重複使用父類別中的現有程式碼並在子類別中自訂它,遵守 DRY(不要重複自己)原則。

以上是如何在 PHP 中存取子類別中的父類別變數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!