抽象介面 php,php中什麼時候用介面 抽象類

2021-10-25 21:40:48 字數 618 閱讀 9512

1.介面

對介面的使用是通過關鍵字 implements

介面只能定義常量

子類必須實現介面定義的所有方法

介面只能定義不能實現該方法

介面沒有建構函式

介面中的方法和實現它的類預設都是public型別的

2.抽象類

對抽象類的使用是通過關鍵字extends

不能被例項化,可定義子類必須實現的方法

子類必須定義父類中的所有抽象方法,這些方法的訪問控制必須和父類一樣

如果乙個類中有乙個抽象方法,則該類必須定義為抽象類

抽象類可以有建構函式,但是不能被例項化

抽象類中那個的方法可以使用private,protected,pubic來修飾

乙個類可以同時實現多個介面,但乙個類只能繼承乙個抽象類

那什麼時候用介面,什麼時候用抽象?

介面定義的是方法的一些規範,而抽象類定義的是類的模板。

介面中只能宣告方法,但是不能定義具體的方法

抽象類中可以宣告抽象方法,但是同時也可以具體去實現一些方法,但是抽象類不能被例項化

所以如果你想對類的方法定義一些規範的同時也想賦予這個類一些具體實現方法,那麼就用抽象。

如果你只想定義乙個類的規範,那就用介面

什麼時候用介面,什麼時候用抽象類

很多人都認為抽象類和介面都 差不多 於是就隨便選一種來開發專案。其實這是一種非常不明智的做法,若選擇上稍微有些錯誤,到了專案開發後期,這些錯誤將會越來越明顯,越來越大,最後直接導致專案的失敗。在介面和抽象類的選擇上,必須遵守這樣乙個原則 行為模型應該總是通過介面而不是抽象類定義。為了說明其原因,下面...

什麼時候使用抽象類, 什麼時候使用介面

介面是一種協定,抽象類則相當於類模板。使用抽象類,而不要使用介面來分離協定與實現。如果需要提供多型層次結構的值型別,使用介面。如果乙個型別必須實現多個協定,或者協定適用於多種型別,使用介面。雖然抽象類和介面都支援將協定與實現分離開來,但介面不能指定以後版本中的新成員,而抽象類可以根據需要新增成員以支...

什麼時候用抽象類什麼時候用介面

如果預計要建立元件的多個版本,則建立抽象類。抽象類提供簡單易行的方法來控制項版本。通過更新基類,所有繼承類都隨更改自動更新。另一方面,介面一旦建立就不能更改。如果需要介面的新版本,必須建立乙個全新的介面。如果建立的功能將在大範圍的全異物件間使用,則使用介面。抽象類應主要用於關係密切的物件,而介面最適...