[英]Trying to understand PHP OOP
我想知道为什么以下代码不会打印出任何内容。 我正在尝试从父类中的方法访问Bar::$some_var
。 其中Bar::$some_var
在其构造函数中定义。
我试过在Foo::hello()
使用self::$some_var
和static::$some_var
,但都没有用。 我必须使$some_var
static
吗?
class Foo {
private $some_var;
public function __construct() {
$this->some_var = 5;
}
public function hello() {
print $this->some_var;
}
}
class Bar extends Foo {
public function __construct() {
$this->some_var = 10;
}
}
$bar = new Bar();
$bar->hello();
提前致谢。
如果您希望子类访问它,则该类变量不能为私有变量。 尝试改为受保护,它应该可以工作!
无论如何,在您的代码中,问题是$ some_var的可见性。 它必须受到几乎保护,公众也将工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.