php:對象繼承和多態的執行個體

來源:互聯網
上載者:User
本例用MyObject類產生了兩個子類:Book和Elec,兩個子類用不同的構造方法執行個體化了兩個對象c_book和h_elec,並輸出資訊

<?php/*父類*/class MyObject{public $object_name;//名稱public $object_price;//價格public $object_num;//數量public $object_agio;//折扣function construct($name,$price,$num,$agio){$this -> object_name = $name;$this -> object_price = $price;$this -> object_num = $num;$this -> object_agio = $agio;}function showMe(){echo '這句話不會顯示。';}}/*  子類Book  */class Book extends MyObject{public $book_type;//類別function construct($type,$num){$this -> book_type = $type;$this -> object_num = $num;}function showMe(){return '本次新進'.$this -> book_type.'圖書'.$this -> object_num.'<br>';}}/*  子類Elec  */class Elec extends MyObject{function showMe(){return '熱賣商品'.$this -> object_name.'<br>原價:'.$this -> object_price.'<br>特價:'.$this -> object_agio * $this -> object_price;}}/*執行個體化對象*/$c_book = new Book('電腦類',1000);$h_elec = new Elec('待機王XX手機',1200,3,0.8);echo $c_book->showMe()."<br>";echo $h_elec->showMe();?>

(1)子類繼承了父類的所有成員變數和方法,包括建構函式。這就是繼承的實現

(2)當子類被建立時,PHP會先在子類中尋找構造方法。如果子類有自己的構造方法,PHP會優先調用子類的構造方法;當子類沒有時,PHP則會調用父類的構造方法

(3)子類重寫了父類的方法showMe(),所以兩個對象雖然調用的都是showMe()方法,但返回的結果卻是兩個不同的資訊 。這就是多態的體現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.