1. 程式人生 > >php抽象類和接口

php抽象類和接口

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抽象類和接口