財產請看下面的例子(PHP)訪問父類從孩子
class Parent
{
protected $_property;
protected $_anotherP;
public function __construct($var)
{
$this->_property = $var;
$this->someMethod(); #Sets $_anotherP
}
protected function someMethod()
...
}
class Child extends Parent
{
protected $parent;
public function __construct($parent)
{
$this->parent = $parent;
}
private function myMethod()
{
return $this->parent->_anotherP; #Note this line
}
}
我是新來的OOP和我有點懵。
在這裏訪問的父母屬性我使用的是一個類的實例,這似乎是錯誤的:S(不需要是我的孩子然後)。有沒有簡單的方法,以便我可以將父屬性與子屬性同步,並且可以直接訪問$ this-> anotherP而不必使用$ this-> parent-> anotherP?
是的。對父:: ::構造的調用是我需要的:O – shxfee
噢,是的,這是棘手的事情之一,我不想提及它:如果你的子類定義了一個構造函數,PHP將不會調用構造函數的父類 - 這意味着你必須自己調用它*(請參閱http://fr.php.net/manual/en/language.oop5.decon.php上的註釋)* –