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