[英]Must I declare variables inherited from the parent class? (PHP 5.3.2)
我是寫OOP的新手。
我認為,除非在子類中定義,否則父級的屬性將由子級自動繼承。
我有一個像這樣的家長班:
class parentClass {
public $name;
}
.
.
.
class childClass extends parentClass {
protected $id;
protected $frontend_name;
}
當我嘗試加載它們時,出現此錯誤:
PHP致命錯誤:在第2571行的/var/wwww/model.php中,對childClass :: $ name的訪問級別必須是公共的(與在parentClass類中一樣)
這是為什么?
使用代碼:
class parentClass {
public $name = 'foo';
}
class childClass extends parentClass {
protected $id;
protected $frontend_name;
}
從兒童班打電話
$child = new childClass;
echo $child->name;
或從父班打電話
$parent = new parentClass;
echo $parent->name;
結果:
foo
再次聲明該變量將引發錯誤,因為您已經從父類繼承了它們。 因此,不,您一定不能聲明從父類繼承的變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.