如何在 PHP 中访问子类中的父类变量

Mary-Kate Olsen
发布: 2024-10-22 21:31:30
原创
269 人浏览过

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学习者快速成长!