1. 程式人生 > >php 抽象類和接口的區別

php 抽象類和接口的區別

function 實現 fun 容易 php pri 區別 函數 高效

在學習PHP面向對象時,都會在抽象類與接口上迷惑,作用差不多為什麽還那麽容易混淆,何不留一去一?

但是事實上兩者的區別還是很大的,如果能夠很好地運用PHP的兩個方法,面向對象的程序設計將會更加合理、清晰高效。

  • 對接口的使用方式是通過關鍵字implements來實現的,而對於抽象類的操作是使用類繼承的關鍵字exotends實現的,使用時要特別註意。
  • 接口沒有數據成員,但是抽象類有數據成員,抽象類可以實現數據的封裝。
  • 接口沒有構造函數,抽象類可以有構造函數。
  • 接口中的方法都是public類型,而抽象類中的方法可以使用private、protected或public來修飾。
  • 一個類可以同時實現多個接口,但是只能實現一個抽象類。

相同點:函數體內不能寫任何東西,連兩個大括號都不能寫!!!如:function getName();

php 抽象類和接口的區別