濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 詳細(xì)對(duì)比php中類繼承和接口繼承

詳細(xì)對(duì)比php中類繼承和接口繼承

熱門標(biāo)簽:宿州正規(guī)外呼系統(tǒng)軟件 太原400電話申請(qǐng)流程 電信外呼系統(tǒng)多少錢一個(gè)月 桂陽公司如何做地圖標(biāo)注 神龍斗士電話機(jī)器人 合肥企業(yè)外呼系統(tǒng)線路 企業(yè)400電話辦理多少費(fèi)用 代理打電話機(jī)器人 萍鄉(xiāng)商鋪地圖標(biāo)注

PHP類繼承:

1、PHP類不支持多繼承,也就是子類只能繼承一個(gè)父類,但是支持多層次繼承

比如:

class frist{
  public function __construct(){
    echo "我是第一個(gè)類。","br>";
  }
  public function printer(){
    echo "frist","br>";
  }
}
class seconds extends frist{}
class third extends seconds{}
$obj = new third();
$obj->printer();

結(jié)果:這是第一個(gè)類。 frist 第二個(gè)類和第三個(gè)類沒有重寫printer()方法,第三個(gè)類實(shí)例化后可以調(diào)用printer()方法。

2、繼承權(quán)限問題

(1)父類private方法不可被繼承,父類私有化

(2)父類protected方法可以被繼承,但不能被實(shí)例化對(duì)象調(diào)用,如果調(diào)用會(huì)出現(xiàn)" Call to protected method frist::printer()"的報(bào)錯(cuò),父類對(duì)此方法置于保護(hù)模式下

(3)父類public方法可以被繼承、可以被實(shí)例化對(duì)象調(diào)用,屬于公開方法

(4)子類可重寫父類public或者protected的方法,不能重新private的方法,如果同名只是在本類重新聲明

3、接口類繼承

(1) 接口支持多繼承,接口類的方法不需要實(shí)現(xiàn)比如:

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) 接口類的方法權(quán)限都是public,默認(rèn)public

(3)引用接口的類必須實(shí)現(xiàn)接口的所有方法,否則會(huì)報(bào)錯(cuò),比如:"Class e contains 1 abstract method and must therefore be declared abstract or implement the remaining methods",即:e類包含1個(gè)抽象方法,因此必須聲明抽象或?qū)崿F(xiàn)其余方法。

4、抽象類:只要一個(gè)類里面有一個(gè)方法是抽象方法,那么這個(gè)類就要定義為抽象類

(1)抽象類繼承抽象類不能重寫父類方法。

(2)抽象類繼承是對(duì)父類的方法的拓展。

(3)繼承的派生類當(dāng)中要把所有抽象方法重載才能實(shí)例化。

(4)抽象類實(shí)現(xiàn)的普通發(fā)放,可以在非抽象子類中直接調(diào)用。

5、接口和抽象類的異同點(diǎn)(引用抽象類與接口區(qū)別)

(1)對(duì)接口的使用方式是通過關(guān)鍵字implements來實(shí)現(xiàn)的,而對(duì)于抽象類的操作是使用類繼承的關(guān)鍵字exotends實(shí)現(xiàn)的

(2) 接口沒有數(shù)據(jù)成員,但是抽象類有數(shù)據(jù)成員,抽象類可以實(shí)現(xiàn)數(shù)據(jù)的封裝。

(3) 接口沒有構(gòu)造函數(shù),抽象類可以有構(gòu)造函數(shù)。

(4)接口中的方法都是public類型,而抽象類中的方法可以使用private、protected或public來修飾。

(5) 一個(gè)類可以同時(shí)實(shí)現(xiàn)多個(gè)接口,但是只能實(shí)現(xiàn)一個(gè)抽象類。

(6) 相同點(diǎn):函數(shù)體內(nèi)不能寫任何東西,比如:function getName();即可。

您可能感興趣的文章:
  • PHP Trait代碼復(fù)用類與多繼承實(shí)現(xiàn)方法詳解
  • PHP接口多繼承及tarits實(shí)現(xiàn)多繼承效果的方法
  • PHP接口繼承及接口多繼承原理與實(shí)現(xiàn)方法詳解
  • PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之接口的繼承定義與用法詳解
  • php 三大特點(diǎn):封裝,繼承,多態(tài)
  • PHP入門教程之面向?qū)ο蟮奶匦苑治?繼承,多態(tài),接口,抽象類,抽象方法等)
  • PHP中類的繼承和用法實(shí)例分析
  • php構(gòu)造方法中析構(gòu)方法在繼承中的表現(xiàn)
  • PHP類的封裝與繼承詳解
  • php 多繼承的幾種常見實(shí)現(xiàn)方法示例

標(biāo)簽:廊坊 衡陽 綏化 白銀 崇左 辛集 太原 鄂州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳細(xì)對(duì)比php中類繼承和接口繼承》,本文關(guān)鍵詞  詳細(xì),對(duì)比,php,中類,繼承,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳細(xì)對(duì)比php中類繼承和接口繼承》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳細(xì)對(duì)比php中類繼承和接口繼承的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    陆河县| 青阳县| 江山市| 彩票| 本溪市| 泸西县| 洱源县| 西吉县| 于都县| 衢州市| 平顺县| 秭归县| 万宁市| 容城县| 鹤岗市| 茌平县| 陇南市| 阳东县| 西峡县| 三门县| 天水市| 巴塘县| 扎鲁特旗| 尚志市| 金门县| 正镶白旗| 永寿县| 阜宁县| 六枝特区| 施秉县| 洛隆县| 灌阳县| 东乡| 进贤县| 南城县| 双鸭山市| 天等县| 吴忠市| 鞍山市| 德兴市| 东兰县|