PHP中的抽象類與接口有啥區(qū)別?

    深入場景業(yè)務(wù),選擇合適的方式實(shí)現(xiàn)代碼,靠的是能力、經(jīng)驗(yàn)與智慧的綜合,決不是一句誰好誰不好所能定性的

    接口定義的是方法的一些規(guī)范,而抽象類定義的是類的模板。

    接口中只能聲明方法,但是不能定義具體的方法

    抽象類中可以聲明抽象方法,但是同時(shí)也可以具體去實(shí)現(xiàn)一些方法,但是抽象類不能被實(shí)例化

    所以如果你想對類的方法定義一些規(guī)范的同時(shí),也想賦予這個(gè)類一些具體實(shí)現(xiàn)方法,那么就用抽象。

    如果你只想定義一個(gè)類的規(guī)范,那就用接口

    • 抽象:定義類的規(guī)范,賦予具體實(shí)現(xiàn)方法
    • 接口:定義類的規(guī)范

    相同

    • 抽象類和接口都有抽象方法
    • 抽象類和接口都不能實(shí)例化
    • 抽象類和接口的使用意義(即作用)相同

    區(qū)別

    • 抽象類的子類遵循繼承原則,只能有一個(gè)父類;但一個(gè)類可以實(shí)現(xiàn)多個(gè)接口
    • 抽象類中可以有非抽象的已經(jīng)實(shí)現(xiàn)的方法;接口中全是抽象的方法,都是方法定義
    • 抽象類中方法和變量的訪問控制自己定義;接口中只能是公共的

    抽象類可以作為基類,為子類提供公共方法,并定制公共的抽象讓子類來實(shí)現(xiàn)。

    而接口則是更高層次的抽象,它可以讓我們依賴于抽象而不是具體的實(shí)現(xiàn),為軟件開發(fā)帶來更多的擴(kuò)展性。

    接口

    • 對接口的使用是通過關(guān)鍵字?implements
    • 接口只能定義常量
    • 子類必須實(shí)現(xiàn)接口定義的所有方法
    • 接口只能定義不能實(shí)現(xiàn)該方法
    • 接口沒有構(gòu)造函數(shù)
    • 接口中的方法和實(shí)現(xiàn)它的類默認(rèn)都是public類型的
    • 接口是一種特殊的抽象類

    接口 – PHP面向?qū)ο缶幊蹋∣OP)

    抽象類

    • 對抽象類的使用是通過關(guān)鍵字extends
    • 不能被實(shí)例化,可定義子類必須實(shí)現(xiàn)的方法
    • 子類必須定義父類中的所有抽象方法,這些方法的訪問控制必須和父類一樣
    • 如果一個(gè)類中有一個(gè)抽象方法,則該類必須定義為抽象類
    • 抽象類可以有構(gòu)造函數(shù),但是不能被實(shí)例化
    • 抽象類中那個(gè)的方法可以使用private,protected,pubic來修飾
    • 一個(gè)類可以同時(shí)實(shí)現(xiàn)多個(gè)接口,但一個(gè)類只能繼承一個(gè)抽象類

    抽象類的作用:就是嚴(yán)格要求子類的結(jié)構(gòu),所以抽象類其實(shí)就是一個(gè)規(guī)范。

    抽象類 – PHP面向?qū)ο缶幊蹋∣OP)

    總結(jié)

    掌握好接口的設(shè)計(jì)原則,往往就能看懂一大半的框架的設(shè)計(jì)思想。這也是我們面向?qū)ο笾凶钭罨A(chǔ)的特性。

    抽象類作為公共基類來說可以為多態(tài)提供比較好的范本,它能夠讓你的子類有自己的個(gè)性又能使用父類的能力。

    總之,深入場景業(yè)務(wù),選擇合適的方式實(shí)現(xiàn)代碼,靠的是能力、經(jīng)驗(yàn)與智慧的綜合,決不是一句誰好誰不好所能定性的。

    參考文章

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無意侵害您的權(quán)益,請發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優(yōu)惠劵
    搜索
    主站蜘蛛池模板: 乱人伦一区二区三区| 亚洲AV无码一区二区乱子仑 | 久久se精品一区精品二区国产| 亚洲AV成人一区二区三区AV| 国产区精品一区二区不卡中文| 免费日本一区二区| 亚洲一区二区影视| 亚洲Av无码国产一区二区| 欧美人妻一区黄a片| 一区二区三区视频观看| 亚洲av无码一区二区三区网站| 亚洲福利秒拍一区二区| 动漫精品第一区二区三区| 精品国产香蕉伊思人在线在线亚洲一区二区 | 国产精品亚洲高清一区二区| 亚洲AV无码一区东京热久久| 亚洲丶国产丶欧美一区二区三区| 日本一区二区三区在线视频| 久久久国产精品一区二区18禁| 午夜在线视频一区二区三区 | 日本在线电影一区二区三区| 国产内射999视频一区| 无码8090精品久久一区| 日韩电影一区二区三区| 曰韩精品无码一区二区三区| 波多野结衣免费一区视频 | 无码人妻一区二区三区精品视频 | 中文字幕一区在线观看| 日韩色视频一区二区三区亚洲| 色狠狠一区二区三区香蕉| 成人区精品一区二区不卡| 日韩国产一区二区| 欧洲精品一区二区三区| 午夜一区二区免费视频| 精品无码国产AV一区二区三区 | 一区二区三区精品视频| 日韩精品一区二区午夜成人版| 久久精品无码一区二区三区不卡| 精品无码一区在线观看| 伊人色综合一区二区三区影院视频 | 中文字幕一区二区三区乱码|