php呼叫父類別構造方法:使用parent呼叫父類別的構造,用【::】參照一個類,程式碼為【parent::__construct($title,$firstName,$mainName,$price)】。
php呼叫父類別構造方法:
使用parent
呼叫父類別的構造方法
要參照一個類而不是物件的方法,可以使用 ::
(兩個冒號),而不是 ->
。
所以, parent::__construct()
為著呼叫父類別的 __construct()
方法。
具體程式碼如下:
<?php header('Content-type:text/html;charset=utf-8'); // 從這篇開始,類名首字母一律大寫,規範寫法 class ShopProduct{ // 宣告類 public $title; // 宣告屬性 public $producerMainName; public $producerFirstName; public $price; function __construct($title,$firstName,$mainName,$price){ $this -> title = $title; // 給屬性 title 賦傳進來的值 $this -> producerFirstName= $firstName; $this -> producerMainName = $mainName; $this -> price= $price; } function getProducer(){ // 宣告方法 return "{$this -> producerFirstName }"."{$this -> producerMainName}"; } function getSummaryLine(){ $base = "{$this->title}( {$this->producerMainName},"; $base .= "{$this->producerFirstName} )"; return $base; } } class CdProduct extends ShopProduct { public $playLenth; function __construct($title,$firstName,$mainName,$price,$playLenth){ parent::__construct($title,$firstName,$mainName,$price); $this -> playLenth= $playLenth; } function getPlayLength(){ return $this -> playLength; } function getSummaryLine(){ $base = "{$this->title}( {$this->producerMainName},"; $base .= "{$this->producerFirstName} )"; $base .= ":playing time - {$this->playLength} )"; return $base; } } // 定義類 class BookProduct extends ShopProduct { public $numPages; function __construct($title,$firstName,$mainName,$price,$numPages){ parent::__construct($title,$firstName,$mainName,$price); $this -> numPages= $numPages; } function getNumberOfPages(){ return $this -> numPages; } function getSummaryLine(){ $base = "{$this->title}( {$this->producerMainName},"; $base .= "{$this->producerFirstName} )"; $base .= ":page cont - {$this->numPages} )"; return $base; } } ?>
每個子類都會在設定自己的屬性前呼叫父類別的構造方法。基礎類別(父類別)現在僅知道自己的資料,而我們也應該盡量避免告訴父類別任何關於子類的資訊,這是一條經驗規則,大家想想如果某個子類的資訊應該是」保密「的,結果父類別知道它的資訊,其它子類可以繼承,這樣子類的資訊就不保密了。
以上就是php如何呼叫父類別構造方法?的詳細內容,更多請關注TW511.COM其它相關文章!