子類別可以使用 super(parameter-list); 形式來呼叫其超類別定義的建構子。
parameter-list 必須指定超類別建構子所需的參數。
子類別建構子中執行的第一條語句必須始終是 super(); (或 super(parameter-list); 如果需要傳遞參數)。
以下是 TwoDShape 的一個版本,帶有初始化寬度和高度的建構子。
Triangle 子類別使用 super(w, h) 呼叫 TwoDShape 超類別的建構函數,傳遞 w 和 h 的值。
TwoDShape 的建構子使用這些值初始化寬度和高度。
Triangle 子類別不需要初始化寬度和高度,只需要初始化樣式值,該值是它獨有的。
使用 super( ) 允許超類別 (TwoDShape) 根據需要建構自己的子物件並添加功能,而子類別則不需要了解詳細資訊。
超類別定義的每種形式的建構子都可以用 super( ) 呼叫。執行的建構函式將是其參數與給定參數相符的建構子。
以下範例顯示了 TwoDShape 和 Triangle 的擴充版本,其中包含預設建構函式和採用一個參數的建構子。
呼叫超類別建構子:當子類別呼叫 super( ) 時,它會呼叫其直接超類別的建構子。
對直接超類別的參考:super( ) 總是引用緊鄰呼叫它的類別之上的超類,即使在多層次結構中也是如此。
建構子中的第一個指令:super( ) 必須是子類別的建構子中執行的第一個指令。這確保了物件的超類別部分在子類別建構函式執行自己的程式碼之前被初始化。
以上是使用 super 呼叫超類別建構函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!