国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP面向對象

2020-03-22 20:08:11
字體:
來源:轉載
供稿:網友
  •   類似JAVA,C++,PHP也有html' target='_blank'>面向對象,關于類,對象,繼承,封裝...的概念也類似,所以這里直接來說明PHP面向對象的用法。

    一.類的聲明

      class Person{

      //成員屬性

        //成員屬性前必須有關鍵字修飾,最起要有個var

        //成員屬性不要使用資源類型和空類型(resource null),最好不要在聲明類時賦初值。

        var $name;    //默認為public

        private $age;  //private:體現封裝性,不能在外部賦值,獲取,訪問,只能在內部

        static $sex;    

      //成員方法

        function run(){  //默認public

        //方法體

        }

        function eat($food){

        //方法體

        }

        private function sleep(){

        //方法體

        }

        //魔術方法 ,已預定義,但須在類中聲明和自定義方法體

        __construct($var1='',$var2=''){  //構造方法,不要設置成private

        //對象創建完成后第一個被對象自動調用(一次)的方法,若未顯示聲明,系統會默認生成

        //PHP中僅能有一個構造函數(PHP中不能有重名函數),但可通過默認參數實現重載的功能

        //方法體

        }

        function __distruct(){    //析構函數,不能帶參數,最好別私有

        //在對象失去引用,在被垃圾回收程序回收之前自動調用(棧先進后出特點,后進的先失去引用)

        //方法體

        }

        private function __set($name,$value){  //外部為私有成員屬性賦值,自動調用,宜為private

        //方法體

        }

        private function __get($name){      //外部獲取私有成員屬性,同__set

        //方法體 最后宜返回,不宜輸出

        }

        private function __isset($name){      //外部獲取私有成員屬性是否被定義,同__set,在外部調用isset時自動調用,非私有直接于isset

        //方法體

        }

        private function __unset($name){      //外部獲刪除私有成員屬性,同__isset,在外部調用usset時自動調用,非私有直接于unset

        //方法體

        }

      }

    二.類的實例化

      $me = new Person();  //若類中有帶參數的構造函數,則可以再括號中加入參數

      

    三.成員的訪問

      //非靜態(static)成員

      $me->name = "Lee";

      $me->eat("apple");

      //對象內部成員間訪問

      $this->name = "me";

      //調用父類中被重載的方法

      parent::__construct();

      //類內部靜態(static),常量(const)

      self::name;

      self::eat('foot');

      //類外部靜態(static),常量(const)

      Person::name;

      Person::eat('food');

    四.類的繼承

      class Student extends Person{

      //成員  

      }

      

    五.方法重載

      //子類中重寫方法的訪問控制權限不能低于父類的

    六.常見關鍵字和魔方方法

      除上述關鍵字和魔方方法外,還有:

      final:修飾類,不能被繼承。修飾方法,繼承后不能被覆蓋。否則報錯。不能修飾屬性。

      static:靜態成員。修飾成員變量,成員方法。唯一存在,共享.屬于類,不屬于對象。

      const:類內常量。聲明時賦初值。只讀。訪問方式同static

      __clone(){  //克隆對象時重新初始化,自動調用($this本副本對象,$that原對象) $p2 = clone $p1;//克隆

      //方法體

      }

      __toString(){  //輸出對象時自動調用,返回對象都字符串形式

      //方法體

      return

      }

      __call($var1,$var2){  //調用類中不存在的方法時自動調用(否則報錯退出執行),$var1接受方法名,$var2接受參數數組

      //方法體

      }

      __sleep(){  //串行化時自動調用,串行化部分屬性

      //方法體

      return

      }

      __wakeup(){  //反串行化時自動調用,為部分屬性重新賦值

      //賦值

      }

    七.其他

      __autoload($lei){  //當使用的類沒被定義類時自動調用(不聲明在類中,全局函數)

      include(..$var..);  //ucfirst();全裝換為小寫;

      }

      serialize($lei);  //類串行化(將類保存為二進制字符串以網絡傳輸或持久保存),unserialize()解串行化

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 永州市| 马公市| 青海省| 兴和县| 道真| 亚东县| 竹北市| 临汾市| 临泉县| 苏尼特右旗| 靖安县| 兴仁县| 襄樊市| 罗定市| 吉安市| 甘德县| 衡水市| 青阳县| 江门市| 建始县| 焦作市| 兴仁县| 博爱县| 克拉玛依市| 柳江县| 宁津县| 江永县| 农安县| 中山市| 富裕县| 修武县| 新龙县| 民勤县| 江山市| 泸州市| 清镇市| 和平区| 彭山县| 武汉市| 法库县| 芦山县|