介面:一種成員屬性全部為抽象或常量的特殊抽象類。
規則:
1.類中全部為抽象方法。即不需要寫具體功能實現**,只需要定義相關方法。
2.抽象方法錢不用加abstract。
3.介面抽象方法屬性為public。
4.成員屬性必須為常量。
格式**如下:
inte***ce demo
介面引用區別於類繼承關鍵字 extends ,繼承只能只是單一性,而介面可以使用關鍵字 implements 多個引用並用逗號分開.
1.格式:普通類引用介面
classmypcimplements demo , demo2 , demo3
2.格式:抽象類應用介面例子
abstractclassmypcimplements demo , demo2 , demo3
3.格式:繼承父類引用介面並存
classmypcextendsrootimplements demo , demo2 , demo3
先繼承後介面,單繼承多介面。
4.格式:介面與介面的繼承
inte***ce demo3 extends demo
介面是特殊的抽象類,也可以看做是乙個模型的規範。
1.乙個子類如果 implements 乙個介面,就必須實現介面中的所有方法(不管是否需要);如果是繼承乙個抽象類,只需要實現需要的方法即可。
2.如果乙個介面中定義的方法名改變了,那麼所有實現此介面的子類需要同步更新方法名;而抽象類中如果方法名改變了,其子類對應的方法名將不受影響,只是變成了乙個新的方法而已(相對老的方法實現)。
3.抽象類只能單繼承,當乙個子類需要實現的功能需要繼承自多個父類時,就必須使用介面。
php物件的高階特性
物件比較,當同乙個類的兩個例項的所有屬性都相等時,可以使用比較運算子 進行判斷,當需要判斷兩個變數是否為同乙個物件的引用時,可以使用全等運算子 進行判斷。class car a new car b new car if a b echo true if a b echo false 物件複製,在一些...
PHP高階特性 自動載入
include 和 require 是php中引入檔案的兩個基本方法。在小規模開發中直接使用 include 和 require 沒喲什麼不妥,但在大型專案中會造成大量的 include 和 require 堆積。這樣的 既不優雅,執行效率也很低,而且維護起來也相當困難。為了解決這個問題,部分框架會...
PHP物件導向高階特性
1 在 任何處直接使用,不需要在物件中傳遞例項 2 每個例項都可以訪問類中的靜態屬性。不用為了獲取簡單的功能而例項化物件 3 在靜態方法中例項物件進行操作,那麼在不例項化的情況下獲取新的物件 4 靜態變數可以通過類修改,但常量不可改 類的屬性改變會影響它所有的例項 class parents a n...