2011-01-08 38 views
0

這會被認爲是通過子類使用父類方法的好方法嗎?PHP類設計

家長:

$protected $html; 

兒童:

parent::__construct($url);  //set $html 

//do something with $html 

parent::__construct($new_url); //overwrite existing $html 

//do something with $html 

回答

5

事,去到構造通常不應該對象的生命週期內改變。構造函數有一個非常特殊的用途。當對象被創建時,它每個對象只調用一次。即使PHP允許你這樣做,你也不應該像任何其他方法一樣繼續調用它。

此外,我假設你的「孩子」代碼是在孩子的構造函數? (如果沒有,除了孩子自己的構造函數之外,調用父項的構造函數是不好的做法)。

它可能更容易銷燬舊對象,並使用新的$url創建另一個對象。這就是應該如何使用構造函數。

+0

我完全同意kijin – 2011-01-08 20:31:06