[英]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.