PHP访问父类变量

class A {

private $aa;

protected $bb = 'parent bb';

function __construct($arg) {

//do something..

}

private function parentmethod($arg2) {

//do something..

}

}

class B extends A {

function __construct($arg) {

parent::__construct($arg);

}

function childfunction() {

echo parent::$bb; //Fatal error: Undefined class constant 'bb'

}

}

$test = new B($some);

$test->childfunction();

问题:如何在子项中显示父变量?预期结果将回显“父母bb”

回答:

echo $this->bb;

该变量是继承的并且不是私有的,因此它是当前对象的一部分。


以下是其他信息,可应您的要求提供有关使用的更多信息parent::

parent::当您要向父类的方法 添加其他 功能时使用。例如,想象一个Airplane类:

class Airplane {

private $pilot;

public function __construct( $pilot ) {

$this->pilot = $pilot;

}

}

现在,假设我们要创建一种同时具有导航器的新型飞机。您可以扩展__construct()方法以添加新功能,但仍可以使用父级提供的功能:

class Bomber extends Airplane {

private $navigator;

public function __construct( $pilot, $navigator ) {

$this->navigator = $navigator;

parent::__construct( $pilot ); // Assigns $pilot to $this->pilot

}

}

这样,您可以遵循DRY开发原则,但仍然可以提供所需的所有功能。

以上是 PHP访问父类变量 的全部内容, 来源链接: utcz.com/qa/429655.html

回到顶部