php中的抽象類和接口的區(qū)別:1、抽象類可以有屬性、普通方法,接口不能有屬性和普通方法;2、抽象類中未必有抽象方法,接口中一定有抽象方法;3、抽象類使用abstract關(guān)鍵字聲明,接口使用interface關(guān)鍵字聲明。
區(qū)別介紹:
(推薦教程:php視頻教程)
抽象類:是基于類來說,其本身就是類,只是一種特殊的類,不能直接實例,可以在類里定義方法,屬性。類似于模版,規(guī)范后讓子類實現(xiàn)詳細(xì)功能。
接口:主要基于方法的規(guī)范,有點(diǎn)像抽象類里的抽象方法,只是其相對于抽象方法來說,更加獨(dú)立??勺屇硞€類通過組合多個方法來形成新的類。
抽象類與接口的相同點(diǎn):
1、都是用于聲明某一種事物,規(guī)范名稱、參數(shù),形成模塊,未有詳細(xì)的實現(xiàn)細(xì)節(jié)。
2、都是通過類來實現(xiàn)相關(guān)的細(xì)節(jié)工作
3、語法上,抽象類的抽象方法與接口一樣,不能有方法體,即{}符號
4、都可以用繼承,接口可以繼承接口形成新的接口,抽象類可以繼承抽象類從而形成新的抽象類
抽象類與接口的不同點(diǎn):
1、抽象類可以有屬性、普通方法、抽象方法,但接口不能有屬性、普通方法、可以有常量
2、抽象類內(nèi)未必有抽象方法,但接口內(nèi)一定會有“抽象”方法
3、語法上有不同
4、抽象類用abstract關(guān)鍵字在類前聲明,且有class聲明為類,接口是用interface來聲明,但不能用class來聲明,因為接口不是類。
5、抽象類的抽象方法一定要用abstract來聲明,而接口則不需要
6、抽象類是用extends關(guān)鍵字讓子類繼承父類后,在子類實現(xiàn)詳細(xì)的抽象方法。而接口則是用implements讓普通類在類里實現(xiàn)接口的詳細(xì)方法,且接口可以一次性實現(xiàn)多個方法,用逗號分開各個接口就可
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com