1. 程式人生 > >php面向對象(四)

php面向對象(四)

直接 自動 bsp all interface star 自己 參數 ssr

php中的重載技術

  通常面向對象語言的重載技術
  在一個類中有多個同名方法,每個方法的參數不同,這種現象稱為重載。

  參數的不同:個數不同,類型不同,順序不同。
  在php中,一個類中不可以定義多個同名方法(這是直接語法錯誤),因此php重載有特殊的意義;


  屬性重載:如果使用一個不存在的屬性,就會自動去調用預先設計好的某個方法;


      取值:$v1 = 對象->屬性;======如果不存在======》自動調用類中的__get()方法
      賦值:對象->屬性=值;======如果不存在========》自動調用類中的__set()方法
      判斷是否存在:issrt(對象->屬性;)==如果不存在=》自動調用類中的__isset()方法
      銷毀:unset(對象->屬性;)======如果不存在===》自動調用類中的__unset()方法

      //前提是類中要預先定義好這些 
      當使用一個對象(類)調用一個不存在的靜態方法時,會自動去調用預先定義好的:__callStaric 方法,其中必須。帶兩個參數。

      __get(), __set(), __isset(), __unset(), __call(), __callstatic();這幾個方法稱為魔術方法。

    方法重載:如果使用一個不存在的方法,就會自動調用類中預先定義好的某個方法處理;

接口interface

  接口是抽象類的特殊例子:有接口常量,還有抽象方法。

  接口中只有最簡單的特性信息:接口常量(就是常量),抽象方法(只有方法頭,下級去實現)

  接口的作用:接口可以看做抽象類的更高層的抽象規範,不考慮接口常量的話,相當於給下級做什麽事,怎麽做下級自己去完成。

php面向對象(四)