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

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

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

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

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

    所以如果你想對(duì)類的方法定義一些規(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)的方法;接口中全是抽象的方法,都是方法定義
    • 抽象類中方法和變量的訪問(wèn)控制自己定義;接口中只能是公共的

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

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

    接口

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

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

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

    抽象類

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

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

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

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

    總結(jié)

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

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

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

    參考文章

    php

    常量 - PHP面向?qū)ο缶幊蹋∣OP)

    2022-8-24 17:05:25

    php

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

    2022-8-24 17:19:31

    ??
    Npcink上的部份代碼及教程來(lái)源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無(wú)意侵害您的權(quán)益,請(qǐng)發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    0 條回復(fù) A文章作者 M管理員
      暫無(wú)討論,說(shuō)說(shuō)你的看法吧
    ?
    個(gè)人中心
    購(gòu)物車
    優(yōu)惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 成人免费观看一区二区| 中文字幕一区二区三区永久| 香蕉在线精品一区二区| 国产在线无码视频一区| 一区二区三区免费视频播放器| 亚洲宅男精品一区在线观看| 无码一区二区三区爆白浆| 国产精品视频一区| 韩国精品福利一区二区三区| 一区二区手机视频| 久久国产精品一区二区| 亚洲另类无码一区二区三区| 国产高清一区二区三区视频| 色精品一区二区三区| 国产精华液一区二区区别大吗| 久久一区不卡中文字幕| 亚洲av乱码中文一区二区三区| 国产成人久久一区二区三区| 成人无码一区二区三区| 呦系列视频一区二区三区| 国产精品无码一区二区在线观一 | 无码人妻精一区二区三区| 国产激情精品一区二区三区| 无码少妇一区二区| 国产福利酱国产一区二区| 91一区二区在线观看精品| 国产传媒一区二区三区呀| 日韩免费观看一区| 精品一区二区三区视频| 国偷自产一区二区免费视频| 精品无码一区二区三区在线| 亚洲国产精品一区二区第四页| 麻豆AV一区二区三区| 国产剧情一区二区| 无码av免费一区二区三区试看| 国产在线观看一区二区三区四区 | 少妇特黄A一区二区三区| 日韩人妻无码免费视频一区二区三区 | 日本香蕉一区二区三区| 狠狠综合久久AV一区二区三区| 精品国产日韩亚洲一区在线 |