中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中怎么實現類繼承和接口繼承

發布時間:2021-08-13 16:15:44 來源:億速云 閱讀:129 作者:Leah 欄目:數據庫

這篇文章將為大家詳細講解有關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中怎么實現類繼承和接口繼承就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

芮城县| 凌源市| 临泽县| 仁布县| 壤塘县| 安丘市| 婺源县| 汉中市| 安远县| 白朗县| 阿鲁科尔沁旗| 阳原县| 修水县| 博湖县| 宁海县| 沙坪坝区| 九台市| 栾川县| 拉萨市| 安泽县| 桦南县| 许昌市| 益阳市| 松阳县| 辽阳县| 保定市| 特克斯县| 新竹市| 思茅市| 中江县| 怀集县| 葫芦岛市| 阿拉尔市| 栾城县| 巴东县| 睢宁县| 三河市| 石棉县| 晋中市| 太仓市| 上思县|