PHP高階特性 介面

2021-09-19 08:15:20 字數 954 閱讀 2627

介面:一種成員屬性全部為抽象或常量的特殊抽象類。

規則:

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...