- 規範子類/子介面一定要具備某些東西,包含變數與function
- 可以被多重 繼承(extends),子介面會擁有父母們的所有規範。但父母們之間的function不能重名。
- interface裡只能有public function,且都是空的。
- 可以有 constant ,但不能被override
- implement 的時候,必須 override所有的fucntion
- 不能直接 new 出來,要先有 class 去implement 它.
|
- abstract class不能直接new 出來
- 只要class 裡面有 abstract function,就必須被宣告為 abstract class
- 繼承(extends)時,子類必須定義父類中的所有abstract function
- 子類所繼承的function所需引用的參數只能增加(可選參數),不能減少
|
- PHP5.4 才出現
- 用來減少重複程式碼的狀況產生,通常是許多不同的 class 間 共通的某些 function,便於直接使用而不用考慮繼承問題。例如 "人" 跟 "狗" 都可以 "叫",但兩者沒有繼承關係
- 使用上,直接在 class 裡 use 即可
|