首頁  >  文章  >  後端開發  >  PHP物件導向多重繼承與介面用法

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

巴扎黑
巴扎黑原創
2017-04-12 17:50:183228瀏覽

介紹接口之前,我們要知道,為什麼要使用接口,這裡向大家介紹一下。

那為什麼要使用介面呢?

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

什麼又是多重繼承呢?

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

介面類別的語法介紹:

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

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

注意:

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

子類別的語法介紹:

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

子類別定義格式:

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

關於介面類別實例:

<?php
header("content-type:text/html;charset=utf-8");
interface A{                                //创建接口
function a();
}
interface B{
function b();
}
class Php implements A{
function a()
{
echo &#39;php中文网&#39;;
}
}
class Html implements A , B{
function a()
{
echo &#39;PHP中文网是免费网站&#39;;
}
function b()
{
echo &#39;PHP中文网网址是www.php.cn&#39;;
}
}
$php = new Php();
$html = new html();
$php ->a();
echo &#39;<br/>&#39;;
$html ->a();
$html ->b();

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

以上是PHP物件導向多重繼承與介面用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn