我有這樣的代碼:我怎麼叫,其原有的參數父類的構造函數在PHP
class A {
var $arr = array();
function __construct($para) {
echo 'Not called';
}
}
class B extends A {
function __construct() {
$arr[] = 'new Item';
}
}
而作爲B有它自己的構造結構($段)不會被調用。
現在我可以調用parent :: __結構($段),但是B類需要注意的參數A類需求。
我寧願這樣:
class A {
var $arr = array();
function __construct($para) {
echo 'Not called';
}
}
class B extends A {
function __construct() {
parent::__construct(); // With the parameters class B was created.
// Additional actions that do not need direct access to the parameters
$arr[] = 'new Item';
}
}
將類似的東西的工作?
我不喜歡這樣一個事實,即所有擴展類A的類都需要定義一個新的構造方法,一旦類A改變了它的參數,我希望它們所做的就是調用類A的構造方法, B類不會用自己的__construct()方法覆蓋它。
是的,這看起來像我正在尋找。謝謝! – JochenJung
我一直在廣泛地在項目中使用這種方法,雖然它確實有效,但我從不喜歡它,因爲它稍微重新構造了構造函數。它會將您的對象變成某種Base對象,並妨礙重用。 – Gordon