您好,登錄后才能下訂單哦!
小編給大家分享一下php中的抽象類和接口有哪些區別,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
php中的抽象類和接口的區別:1、抽象類可以有屬性、普通方法,接口不能有屬性和普通方法;2、抽象類中未必有抽象方法,接口中一定有抽象方法;3、抽象類使用abstract關鍵字聲明,接口使用interface關鍵字聲明。
區別介紹:
抽象類:是基于類來說,其本身就是類,只是一種特殊的類,不能直接實例,可以在類里定義方法,屬性。類似于模版,規范后讓子類實現詳細功能。
接口:主要基于方法的規范,有點像抽象類里的抽象方法,只是其相對于抽象方法來說,更加獨立。可讓某個類通過組合多個方法來形成新的類。
抽象類與接口的相同點:
1、都是用于聲明某一種事物,規范名稱、參數,形成模塊,未有詳細的實現細節。
2、都是通過類來實現相關的細節工作
3、語法上,抽象類的抽象方法與接口一樣,不能有方法體,即{}符號
4、都可以用繼承,接口可以繼承接口形成新的接口,抽象類可以繼承抽象類從而形成新的抽象類
抽象類與接口的不同點:
1、抽象類可以有屬性、普通方法、抽象方法,但接口不能有屬性、普通方法、可以有常量
2、抽象類內未必有抽象方法,但接口內一定會有“抽象”方法
3、語法上有不同
4、抽象類用abstract關鍵字在類前聲明,且有class聲明為類,接口是用interface來聲明,但不能用class來聲明,因為接口不是類。
5、抽象類的抽象方法一定要用abstract來聲明,而接口則不需要
6、抽象類是用extends關鍵字讓子類繼承父類后,在子類實現詳細的抽象方法。而接口則是用implements讓普通類在類里實現接口的詳細方法,且接口可以一次性實現多個方法,用逗號分開各個接口就可
看完了這篇文章,相信你對php中的抽象類和接口有哪些區別有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。