日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP类继承、接口继承关系概述

發(fā)布時(shí)間:2025/7/14 php 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP类继承、接口继承关系概述 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

PHP類繼承:

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

    1 class frist{ 2 public function __construct(){ 3 echo "我是第一個(gè)類。","<br>"; 4 } 5 public function printer(){ 6 echo "frist","<br>"; 7 } 8 } 9 class seconds extends frist{} 10 class third extends seconds{} 11 $obj = new third(); 12 $obj->printer();

    ?

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

  • 繼承權(quán)限問(wèn)題 2.1 父類private方法不可被繼承,父類私有化 2.2 父類protected方法可以被繼承,但不能被實(shí)例化對(duì)象調(diào)用,如果調(diào)用會(huì)出現(xiàn)" Call to protected method frist::printer()"的報(bào)錯(cuò),父類對(duì)此方法置于保護(hù)模式下 2.3 父類public方法可以被繼承、可以被實(shí)例化對(duì)象調(diào)用,屬于公開(kāi)方法 2.4 子類可重寫父類public或者protected的方法,不能重新private的方法,如果同名只是在本類重新聲明

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

    1 interface frist{ 2 public function ex1(); 3 } 4 interface seconds{ 5 public function ex2(); 6 } 7 interface third extends frist,seconds{ 8 public function ex3(); 9 } 10 class fourth implements third{ 11 public function ex1(){} 12 public function ex2(){} 13 public function ex3(){} 14 } 15 16 class fourth implements frist,seconds{ 17 public function ex1(){} 18 public function ex2(){} 19 }

    ?

    3.2 接口類的方法權(quán)限都是public,默認(rèn)public 3.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è)類就要定義為抽象類

       ?4.1 抽象類繼承抽象類不能重寫父類方法。

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

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

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

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

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

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

      ? ? 5.3 接口沒(méi)有構(gòu)造函數(shù),抽象類可以有構(gòu)造函數(shù)。

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

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

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

    原創(chuàng)帖,轉(zhuǎn)載請(qǐng)注明出處~

    轉(zhuǎn)載于:https://www.cnblogs.com/dongw/p/php_extend.html

    總結(jié)

    以上是生活随笔為你收集整理的PHP类继承、接口继承关系概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。