博客專欄

        EEPW首頁 > 博客 > 扣丁學堂PHP培訓之PHP抽象類與接口的區別

        扣丁學堂PHP培訓之PHP抽象類與接口的區別

        發布人:扣丁客 時間:2020-12-15 來源:工程師 發布文章

        首先,想要了解PHP抽象類與接口的區別在哪里,還是先要弄清楚各自的概念,在結合一下PHP視頻教程的學習,這樣在成為PHP開發工程師的道路上,這個知識點就不會在困擾你了。

             抽象類:

        定義為抽象的類不能被實例化.任何一個類,如果它里面至少有一個方法是被聲明為抽象的,那么這個類就必須被聲明為抽象的。被定義為抽象的方法只是聲明了其調用方式(參數),不能定義其具體的功能實現。繼承一個抽象類的時候,子類必須定義父類中的所有抽象方法;另外,這些方法的訪問控制必須和父類中一樣(或者更為寬松)。例如某個抽象方法被聲明為受保護的,那么子類中實現的方法就應該聲明為受保護的或者公有的,而不能定義為私有的。此外方法的調用方式必須匹配,即類型和所需參數數量必須一致。例如,子類定義了一個可選參數,而父類抽象方法的聲明里沒有,則兩者的聲明并無沖突。這也適用于PHP5.4起的構造函數。在PHP5.4之前的構造函數聲明可以不一樣的.

              接口:

        使用接口(interface),可以指定某個類必須實現哪些方法,但不需要定義這些方法的具體內容。接口是通過interface關鍵字來定義的,就像定義一個標準的類一樣,但其中定義所有的方法都是空的。

        接口中定義的所有方法都必須是公有,這是接口的特性。

        要實現一個接口,使用implements操作符。類中必須實現接口中定義的所有方法,否則會報一個致命錯誤。類可以實現多個接口,用逗號來分隔多個接口的名稱。

        實現多個接口時,接口中的方法不能有重名。接口也可以繼承,通過使用extends操作符.

        類要實現接口,必須使用和接口中所定義的方法完全一致的方式。否則會導致致命錯誤.

             區別:

        1.對接口的繼承使用implements,抽象類使用extends.

        2.接口中不可以聲明變量,但可以聲明類常量.抽象類中可以聲明各種變量

        3.接口沒有構造函數,抽象類可以有

        4.接口中的方法默認為public,抽象類中的方法可以用public,protected,private修飾

        5.一個類可以繼承多個接口,但只能繼承一個接口


        以上就是關于PHP抽象類與接口的區別做出的詳細的概念介紹與區別的講解,想要更加深入的了解PHP相關的編程語言知識,可以在扣丁學堂官網觀看學習,并且可以隨時提出自己的疑難問題。我們不僅有專業、資質較深的講師,還同時配套PHP視頻教程以及課后輔導。感興趣或者想要了解更多的朋友可以加我們的扣丁學堂PHP技術交流群:374332265。微 信 號:codingbb

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 邛崃市| 当涂县| 开江县| 金门县| 曲靖市| 广昌县| 北川| 兰西县| 彝良县| 教育| 田东县| 长武县| 华亭县| 武乡县| 辽源市| 九台市| 磴口县| 阜平县| 镇沅| 秀山| 白玉县| 临颍县| 塔河县| 油尖旺区| 永昌县| 孝昌县| 绥棱县| 康马县| 抚州市| 凌源市| 临夏县| 诏安县| 威信县| 通辽市| 金乡县| 黔南| 平陆县| 禹城市| 伊宁县| 东乌珠穆沁旗| 西乌珠穆沁旗|