構造器Construct是否可被Override?

2021-08-31 15:48:52 字數 571 閱讀 9040

構造器不能被繼承,因此不能被重寫override,但可以被過載override。

補充:繼承——子父類中的建構函式的特點:

在子類構造物件時發現,訪問子類建構函式時,父類也執行了。為什麼呢?

原因是:在子類的建構函式第一行有乙個預設的隱式語句:super();

super();//呼叫的是父類中的空引數的建構函式。

子類例項化過程:子類中所有的建構函式預設都會訪問父類中的空引數的建構函式。

為什麼子類例項化的時候要訪問父類中的建構函式呢?

因為子類繼承父類,獲取了父類中的內容(屬性),所以在使用父類內容之前,要先看父類是如何對自己的內容進行初始化的。所以子類在構造物件時,必須訪問父類中的建構函式。為了完成這個必須的動作,就在子類的建構函式中加入了super()。

如果父類中沒有定義空引數建構函式,那麼子類的建構函式必須用super明確要呼叫父類中的哪個建構函式。

注意:super語句必須要定義在子類建構函式的第一行。因為父類的初始化動作要先完成。

通過super()初始化父類內容時,子類的成員變數並未顯示初始化,等super()父類初始化完畢後,才進行子類成員的顯示初始化。

PHP 構造方法 construct

php 構造方法 construct 允許在例項化乙個類之前先執行構造方法。構造方法是類中的乙個特殊方法。當使用 new 操作符建立乙個類的例項時,構造方法將會自動呼叫,其名稱必須是 construct 在乙個類中只能宣告乙個構造方法,而是只有在每次建立物件的時候都會去呼叫一次構造方法,不能主動的呼...

PHP 構造方法 construct

php 構造方法 construct 允許在例項化乙個類之前先執行構造方法。構造方法是類中的乙個特殊方法。當使用 new 操作符建立乙個類的例項時,構造方法將會自動呼叫,其名稱必須是 construct 在乙個類中只能宣告乙個構造方法,而是只有在每次建立物件的時候都會去呼叫一次構造方法,不能主動的呼...

PHP 構造方法 construct

php 構造方法 construct 允許在例項化乙個類之前先執行構造方法。構造方法是類中的乙個特殊方法。當使用 new 操作符建立乙個類的例項時,構造方法將會自動呼叫,其名稱必須是 construct 在乙個類中只能宣告乙個構造方法,而是只有在每次建立物件的時候都會去呼叫一次構造方法,不能主動的呼...