在PHP中,類別繼承與介面繼承的區別是:PHP類別不支援多繼承,也就是子類別只能繼承一個父類,但是支援多層次繼承,而介面支援多繼承,也就是介面可以繼承一個或多個介面。
本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。
php中類別繼承與介面繼承的差別是什麼
PHP類別繼承:
#1、PHP類別不支援多繼承,也就是子類別只能繼承一個父類,但是支援多層次繼承
例如:
class frist{ public function __construct(){ echo "我是第一个类。","<br>"; } public function printer(){ echo "frist","<br>"; } } class seconds extends frist{} class third extends seconds{} $obj = new third(); $obj->printer();
結果:這是第一個類別。 frist 第二個類別和第三個類別沒有重寫printer()方法,第三個類別實例化後可以呼叫printer()方法。
2、繼承權限問題
(1)父類別private方法不可被繼承,父類別私有化
(2)父類別protected方法可以被繼承,但不能被實例化物件調用,如果呼叫會出現" Call to protected method frist::printer()"的報錯,父類別對此方法置於保護模式下
(3)父類public方法可以被繼承、可以被實例化物件調用,屬於公開方法
(4)子類別可重寫父類別public或protected的方法,不能重新private的方法,如果同名只是在本類別重新聲明
3、介面類別繼承
(1) 介面支援多重繼承,介面類別的方法不需要實作例如:
interface frist{ public function ex1(); } interface seconds{ public function ex2(); } interface third extends frist,seconds{ public function ex3(); } class fourth implements third{ public function ex1(){} public function ex2(){} public function ex3(){} } class fourth implements frist,seconds{ public function ex1(){} public function ex2(){} }
(2) 介面類別的方法權限都是public,預設public
(3)引用介面的類別必須實作介面的所有方法,否則會報錯,例如:"Class e contains 1 abstract method and must therefore be declared abstract or implement the remaining methods",即:e類別包含1個抽象方法,因此必須宣告抽像或實作其餘方法。
4、抽象類別:只要一個類別裡面有一個方法是抽象方法,那麼這個類別就要定義為抽象類別
(1)抽象類別繼承抽象類別不能重寫父類方法。
(2)抽象類別繼承是對父類別的方法的拓展。
(3)繼承的衍生類別當中要把所有抽象方法重載才能實例化。
(4)抽象類別實作的普通發放,可以在非抽象子類別中直接呼叫。
5、介面和抽象類別的異同點(引用抽象類別與介面區別)
(1)對介面的使用方式是透過關鍵字implements實現的,而對於抽象類別的操作是使用類別繼承的關鍵字exotends實現的
(2) 介面沒有資料成員,但是抽象類別有資料成員,抽象類別可以實現資料的封裝。
(3) 介面沒有建構函數,抽象類別可以有建構子。
(4)介面中的方法都是public類型,而抽象類別中的方法可以使用private、protected或public來修飾。
(5) 一個類別可以同時實作多個接口,但是只能實作一個抽象類別。
(6) 相同點:函數體內不能寫任何東西,例如:function getName();即可。
推薦學習:《PHP影片教學》
以上是php中類別繼承與介面繼承的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6
視覺化網頁開發工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版