php學習 基礎六

類和對象
   類是一組具有相同屬性和行爲的對象的抽象的,邏輯的,概念上的定義
   一個對象可以有多個屬性和多個行爲,對象的屬性和行爲構成一個整體。
       1.創建類
   class class_name
   {
    var 屬性1;                  ###設定屬性
    var 屬性2;                  ###設定屬性
   function function_name1{      ###設定方法
       }
   function function_name1{      ###設定方法
       }
    }
       2.實例化類
       使用類,就必須要將這個類進行實例化
       $name=new class_name()
       3.方法的使用
       對對象屬性進行的操作稱爲對象的方法
       function function_name1
      {               ###設定方法
       //   method declarations defined here
       }
    類的訪問控制
       在聲明字段時,必須使用public,private,protected,final,const,static之一進行修飾
       公有屬性      可以自由地在類的內部,外部讀取,修改   默認就是這個
       改變屬性值    聲明爲public,定義屬性的時候可以不設置初始值,通過傳遞來給屬性賦值,如果設置了,也可以更具需要改變
       私有屬性      在當前對象以外不能訪問。  子類也不能使用該類屬性
       protected屬性 限定字段作用域在
public和private之間。   該類和該類的子類中可以使用該字段
       const屬性     定義一個常量,定義的常量不能被改變。  const定義的常量不需要加$修飾符。
    類的特性:
       面嚮對象語言的三大特點:繼承 封裝 多態
       繼承性:
           class newclassname extends oldclassname
           extends 表示繼承關係      oldclassname 被繼承的類       newclassname 創建的子類
       多態性:
           多態包括重載和重寫,當從父類繼承的方法不能滿足子類的需求,對父類進行改寫的過程稱爲重寫。
           注意點:對父類進行重寫時,子類中的方法必須和父類的方法具有相同的名稱。
           PHP不支持重載
    構造函數:
           當類被實例化的時候,會自動執行的函數。
           函數名:_construct
           class classname
           function _construct([argument1,argument2,argument3])
              {
                      /* class initialization code */
                    }

    調用父類構造函數
           構造函數還能調用其他構造函數,但不會自動調用父類的構造函數,在調用時必須使用parent關鍵字
    析構函數:
           在對象被銷燬時自動執行的函數稱爲析構函數。
           class classname
           function _destruct()
              {
                      /* class initialization code */
                    }
     使用其他方法調用析構函數:
         $this關鍵字
             $this在構造函數中指該構造函數所創建的新對象
             在類中使用當前對象的屬性和方法,必須使用$this->取值
             方法內的局部變量不屬於對象,不使用$this關鍵字取值
           調用變量
             調用當前對象的屬性值,必須使用$this關鍵字 通過符號->調用
           調用其他方法
             通過$this不但可以調用變量,而且可以直接調用類中的函數。
         static關鍵字
            靜態屬性
             一個類的所有實例,共用類中的靜態屬性,訪問該類時,可不必實例化。直接使用屬性名加兩個冒號::直接訪問
            靜態方法
             如果將方法聲明爲靜態,則在類中不能用this來引用該方法,可以使用下面兩種方法引用
              在類中  self::靜態成員名稱
              在類外  類名稱::靜態成員名稱
         final關鍵字
              當在一個函數聲明前使用final關鍵字,則這個函數不能被任何子類重載。
            final函數的調用
               final函數不影響外部的調用,但會影響其被改變
            final類不能被繼承
               final修飾的類稱爲final類,並final修飾的類不能被繼承,如果繼承會出現錯誤。
            final方法不能被重寫
               final修飾的方法不能被重寫,如果重寫會出現錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章