簡體   English   中英

PHP中的抽象方法和接口方法有什么區別?

[英]What is difference between Abstract method and Interface method in PHP?

抽象類中的抽象方法和接口 PHP 中的接口方法有什么區別? 注意:我不是在問抽象類和接口之間的區別。 我只問方法。

以下是我對它們為何存在以及它們如何有用的理解。 大體上是一樣的。 在我看來,它們的存在是為了為更好的 OOP 設計提供靈活性。

  • 接口方法必須由實現接口的任何類實現。
  • 任何擴展抽象類的類都必須以同樣的方式實現抽象方法。
  • 一個類可以實現多個接口,但只能擴展一個類(抽象或具體)。
  • 一個接口可以有多種不同行為的實現。
  • 也可以抽象地實現接口。 也就是說,為接口的實現提供樣板,其中實現了最常見的方法(至少具有默認行為),並將其余接口方法的實現留給具體類。 這種抽象實現雖然可以強制具體類實現一些抽象方法(在接口方法之上)。 這些抽象方法可能不一定是同一接口的其他實現所必需的,並且不應由接口強制執行,因此它們不應在接口中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM