請有人建議?PHP OO:抽象類的重寫屬性
我們有一個抽象基類,有幾個屬性和一些方法。
從繼承的類調用方法(帶參數),其共同意圖是將傳遞的參數設置爲基類的屬性,除非它們看起來並不重寫默認值。
如果我在抽象(基)類的構造函數中設置了一個值(用於測試目的),它可以正常工作,並且傳遞給構造函數的任何東西都可以工作,但我們想要做的是獲取setErrors方法來實際設置物業的價值。
例子:
//abstract base class
private $errors = array();//the property we want to overide
public function __construct()
{
$this->errors[] = "This is a required field";//for testing purposes only this works
}
public function setErrors($error)
{
var_dump($error);//this proves that $error is passing something...
$this->errors[] = $error;//this doesnt work(override the property)
var_dump($this->error);//the property now has the $error value...
}
public function getErrors()
{
return "<li>".implode("</li>\n",$this->errors);
}
我不知道這是否是與基類是抽象的,即因爲它不實例化。請有人解釋爲什麼這不起作用? 預先感謝您對此感興趣。
編輯 我們不想繼承私有財產權從基類
我們想要做的是覆蓋與set方法的屬性,然後使用一個公共的get方法返回的財產。
什麼問題是什麼?[It works fine](http://codepad.org/nCe6bMOI)。 – netcoder 2011-04-28 16:32:14