介紹介面之前,我們要知道,為什麼要使用介面,這裡向大家介紹一下。
那為什麼要使用介面呢?
電腦語言中,只有少數的物件導向支援多重繼承,我們所學習的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();
介面類中所有未實現的方法需要在子類中全部實現,否則會出現致命錯誤。大家可以親自嘗試一下部分實現介面中的類,看看會不會出現致命錯誤。