您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何在php中調用父類構造方法,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
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中調用父類構造方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。