PHP物件導向之多重繼承與介面用法

來源:互聯網
上載者:User
介紹介面之前,我們要知道,為什麼要使用介面,這裡向大家介紹一下。

那為什麼要使用介面呢?

電腦語言中,只有少數的物件導向支援多重繼承,我們所學習的PHP語言和大多數語言一樣,並不支援多重繼承。說白了就是一個父類可以有多個子類,但是子類只能有一個父類。

什麼又是多重繼承呢?

多重繼承就是一個子類,繼承了兩個或多個父類,就是多重繼承,在PHP中是不被允許的。如果要在PHP中實現多重繼承功能,那麼,我們就要用到介面。介面可以看成是解決多重繼承的方法,PHP的物件導向的介面和其他物件導向語言介面類似。

介面類的文法介紹:

介面類是通過interface關鍵字來聲明,並且類中只能包含未實現的方法和一些成員變數,格式如下:

interface InterfaceName{function interfaceName1(){}function interfaceName2(){}}

注意:

不要用public以外的關鍵字來修飾介面中的類成員,對於方法,不寫關鍵字也是可以的。這是由介面類自身的屬性決定的。

子類的文法介紹:

子類是通過inplements關鍵字來實現介面的,如果要實現多個介面,那麼每個介面之間應該使用逗號隔開。且介面類中所有未實現的方法需要在子類中全部實現,否則會出現致命錯誤。

子類定義格式:

class SubClass implements InterfaceName1, InterfaceName2{function InterfaceName1(){}function InterfaceName2(){}}

關於介面類執行個體:

<?phpheader("content-type:text/html;charset=utf-8");interface A{                                //建立介面function a();}interface B{function b();}class Php implements A{function a(){echo 'php中文網';}}class Html implements A , B{function a(){echo 'topic.alibabacloud.com是免費網站';}function b(){echo 'topic.alibabacloud.com網址是www.php.cn';}}$php = new Php();$html = new html();$php ->a();echo '<br/>';$html ->a();$html ->b();

介面類中所有未實現的方法需要在子類中全部實現,否則會出現致命錯誤。大家可以親自嘗試一下部分實現介面中的類,看看會不會出現致命錯誤。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.