php抽象類和接口
阿新 • • 發佈:2019-04-09
bst 實例化 定義 去掉 nts bubuko 就是 {} trac
abstract 關鍵字 代表抽象類;
場景聯想:如果項目經理需要對所有的子類進行規範,就是說,這些成員必須有,且必須使用那些名字,就需要使用抽象類的概念了;
1.抽象類不能實例化;
2.如果一個類裏面有其他方法,被申明為抽象類了,這個類就得聲明抽象類
3.只要這個方法被聲明抽象方法,就不能寫函數體,將函數後面的{}去掉,函數體有子類實現;
4.在繼承一個抽象類的時候,子類必須定義父類中的所用抽象方式;不是抽象方法,子類可以不用定義;
接口 interface
接口的用途和抽象類差不多,都是為了寫一些規範;
1.使用interface關鍵字定義接口,接口在方法都是空的沒有函數體。
2.接口中所有的方法都是public。
3.使用implements這個操作符。
4.一個類可以實現多個接口,接口和接口之間只要,隔開。
5.接口和接口之間的方法盡量不要重名,如果重名了,那麽參數等要保持一致
抽象類和接口的區別:
1.接口使用implements而抽象類使用extends實現;
2.接口中只能聲明公有的方法 抽象類屬性 常量 方法 都可以聲明;
3.接口沒有構造函數,抽象類有;
4.接口可以實現多個接口,但是抽象類只能繼承一個;
php抽象類和接口