亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

面向對象的PHP

2020-03-22 18:26:38
字體:
來源:轉載
供稿:網友
  • 類的實例(包括繼承)
    <?php  // 父類  html' target='_blank'>class Animal {    public $name;    public $age;    // 構造函數,使用new操作符生成實例的時候自動調用    function __construct($name, $age) {      $this->name = $name;      $this->age = $age;    }    public function show() {      echo $this->name . ' ' . $this->age . '<br/>' ;    }    // 析構函數,對象銷毀的時候自動調用    function __destruct() {      echo 'object destroyed' . '<br/>';    }  }  // 子類  class Dog extends Animal {    public $legs;    function __construct($name, $age, $legs) {      // 調用父類的方法      parent::__construct($name, $age);      $this->legs = $legs;    }    public function showLegNumber() {      echo $this->legs . '<br/>';    }  }  $myDog = new Dog('candy', 10, 4);  $myDog->show();  $myDog->showLegNumber();   $myDog = null;        $hisDog = new Dog('sally', 5, 4);  $hisDog->show();   ?>

      在執行對象方法時,PHP將會自動定義一個$this的特殊變量(類似js的this),該變量表示對對象本身的引用,通過使用$this變量和'->'符號可以引用對象本身的所有屬性和方法(類似js的this.)。

      析構函數是一個名為__destruct()的函數,它是在對象被注銷時所調用的。通常PHP會在所有請求都結束時自動釋放該對象所占有的資源,所以析構函數顯的并不是那么重要。但是在某些情況下還是有用處的,如釋放指定的資源或者記錄日志信息。在上例中,就算沒有將$hisDog對象賦值為null,在腳本執行結束時也將會自動調用其析構函數。

      類的繼承需使用關鍵字extends,通常在PHP中使用parent表示父類,常用于訪問父類的方法和屬性;使用self表示子類,常用于訪問當前類中的常量、靜態變量和方法。

    類的常量和靜態屬性、方法類的常量

      在PHP中,存在著全局常量,使用define關鍵字定義。而在PHP5中,還可以在類中定義常量。類的常量不屬于任何的類的實例,只屬于類的本身,且不可修改。定義類的常量很簡單,只需要使用const關鍵字進行定義即可。對于類的常量的引用分為兩種情況:一種是在類的內部進行引用,另一種是在類的外部進行引用。不管是何時進行引用,都需要使用范圍解析操作符(::)。

    <?php  class Color {    const RED = 'red';    const BLUE = 'blue';    const WHITE = 'white';    function getWhite() {      // 內部引用      return self::WHITE;    }  }   // 外部引用  echo Color::RED;  $obj = new Color();  echo $obj->getWhite();?>
    靜態屬性、方法

      每一個類的實例都有其所有屬性和方法的拷貝,但類還可以定義靜態屬性和靜態方法。靜態屬性(方法)和類的常量一樣,只屬于類的本身,通過關鍵字static定義。訪問方式和類的常量一樣。

    <?php  class myClass {    static $num = 0;    function __construct() {      self::$num++;    }    // 統計該類實例化的個數    static function printNum() {      echo self::$num . '<br/>';    }  }  myClass::printNum();  $a = new myClass();  myClass::printNum();  $b = new myClass();  myClass::printNum();  $c = new myClass();  myClass::printNum();?>
    訪問修飾符

      在使用面向對象的程序設計模式進行開發時,最為重要的一點就是封裝和對象屬性的訪問保護,而訪問修飾符就是因此誕生的。通常對于類屬性和方法,訪問保護都是通過3個關鍵字來實現的:public、protected和private。在開發時,需要制定屬性或方法的訪問權限,為了向下兼容,定義方法時未指定訪問權限將自動設置為public(如定義屬性為指定會報錯)。

      指定為public的類屬性和方法為公共的屬性和方法,可以在任何作用域內訪問。在對象外可以采用對象名->屬性名(方法名)訪問,在對象內部可以用$this->屬性名(方法名)訪問。若一個類從該類繼承,則這個類的對象的外部和內部訪問該類屬性或者方法可以采用相同的方式。

      指定為protected的類屬性和方法只能夠在對象內部使用,即采用$this->(受保護)屬性名(變量名)的方式進行訪問。若一個類從該類繼承,則受保護的類屬性和方法也可以在類的對象的方法中采用如上方式訪問。

      指定為private的類屬性和方法和protected類似,只能在對象內部訪問,同時也不能在繼承類的實例對象中進行訪問,因為私有屬性和方法在繼承的類中時看不到的。

      總結:public修飾定義可以從任何位置訪問到類屬性和方法;protected修飾符定義只能在類的內部及該類子類中(繼承)進行訪問;private修飾符定義只能在類的內部進行訪問。

    魔術方法

      在PHP中,除了提供靜態方法外,還提供了幾個有用的魔術方法。這里的魔術方法包括前面所講的構造函數__construct()、析構函數__destruct(),以及字符串轉換函數__toString()和克隆函數__clone()。

    字符串轉換函數__toString()

      當用echo或者print輸出一個對象時,將自動調用__toString()方法(不覺得比var_dump()好用)

    <?php  class Child {    public $name;    public $age;    function __construct($name, $age) {      $this->name = $name;      $this->age = $age;    }    function __toString() {      return $this->name . ' ' . $this->age . '<br/>';    }  }  $myChild = new Child('hanzichi', 10);  print $myChild;  echo $myChild;  var_dump($myChild);?>
    克隆函數__clone()

      在實際應用中,除了采用new關鍵字創建對象外,還可以使用clone關鍵字實現對象克隆,所克隆的對象將擁有原對象的所有屬性。

    <?php  class Child {    public $name;    public $age;    function __construct($name, $age) {      $this->name = $name;      $this->age = $age;    }    function show() {      echo $this->name . ' ' . $this->age . '<br/>';    }  }  $myChild = new Child('hanzichi', 10);  $hisChild = clone $myChild;  $hisChild->show();  // hanzichi 10?>

      有些時候我們并不需要克隆完全一樣的對象,這時我們可以在類中定義__clone方法,克隆的時候會自動調用。

    <?php  class Child {    public $name;    public $age;    function __construct($name, $age) {      $this->name = $name;      $this->age = $age;    }    function __clone() {      $this->name = 'candy';    }        function show() {      echo $this->name . ' ' . $this->age . '<br/>';    }  }  $myChild = new Child('hanzichi', 10);  $hisChild = clone $myChild;  $hisChild->show();  // candy 10?>
    PHP編程

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

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    国产美女扒开尿口久久久| 亚洲人成网站777色婷婷| 日韩免费观看高清| 性金发美女69hd大尺寸| 国产成人涩涩涩视频在线观看| 国产精品美女在线观看| 亚洲综合精品一区二区| 国产999在线观看| 国产在线播放不卡| 日韩欧美精品在线观看| 欧美香蕉大胸在线视频观看| 欧美视频免费在线| 亚洲国产精品99| 亚洲国产精品成人va在线观看| 国产视频自拍一区| 自拍偷拍亚洲一区| 国产日韩欧美影视| 亚洲最新av在线| 国产精品电影网| 精品电影在线观看| 91精品久久久久久久久青青| 精品亚洲精品福利线在观看| 国产福利视频一区二区| 亚洲人成网在线播放| 国产精品国语对白| 日韩美女视频在线观看| 久久精品国产亚洲精品2020| 国产精品入口日韩视频大尺度| 亚洲免费视频观看| 国产成人精品久久亚洲高清不卡| 国产精品中文字幕在线观看| 91国语精品自产拍在线观看性色| 亚洲综合在线小说| 欧美在线观看www| 日韩av网站电影| 欧美电影在线观看网站| 中文字幕av一区中文字幕天堂| 岛国av一区二区三区| 亚洲最新av在线| 黄色一区二区在线| 亚洲精品www久久久| 欧美最猛性xxxxx亚洲精品| 夜夜嗨av一区二区三区免费区| 欧洲美女7788成人免费视频| 欧洲美女免费图片一区| 日韩亚洲第一页| 久久久久久久久久久国产| 久久影视免费观看| 国产成人精品最新| 亚洲天堂第一页| 国产剧情久久久久久| 97在线视频国产| 久久五月情影视| 久久久久久国产精品| 欧美日韩亚洲高清| 国产欧美精品在线| 性欧美办公室18xxxxhd| 欧美成人一区二区三区电影| 91香蕉嫩草神马影院在线观看| 国产精品视频大全| 国产午夜精品一区理论片飘花| 亚洲女人天堂av| 不卡在线观看电视剧完整版| 亚洲97在线观看| 欧美成人激情在线| 青青青国产精品一区二区| 狠狠色狠色综合曰曰| 精品亚洲国产视频| 亚洲伊人成综合成人网| 久久久久久久国产精品视频| 日韩av网址在线观看| 亚洲一区二区国产| 欧美日本中文字幕| 一区二区三区天堂av| 久久久精品一区二区| 国产偷亚洲偷欧美偷精品| 亚洲影院污污.| 成人黄色大片在线免费观看| 亚洲高清久久网| 国产精品久久精品| 久久久中文字幕| 国产精品久久久久91| 精品国产91乱高清在线观看| 国产成人精品av在线| 亚洲直播在线一区| 色综合久久88色综合天天看泰| 亚洲xxxx3d| 国产精品中文字幕久久久| 欧美精品久久久久久久免费观看| 国产有码一区二区| 97视频com| 日韩av免费在线看| 欧美日韩一区二区在线播放| 国产日韩欧美黄色| 成人中文字幕在线观看| 久热精品视频在线观看一区| 亚洲一区二区中文字幕| 亚洲精品成人久久| 日韩国产高清视频在线| 综合欧美国产视频二区| 97成人精品视频在线观看| 欧美黑人国产人伦爽爽爽| 国产日韩视频在线观看| 国产视频在线一区二区| 91久久久久久久一区二区| 国产精品6699| 久久在线免费观看视频| 欧美日韩国产色| 精品国偷自产在线视频| 国语对白做受69| 精品欧美激情精品一区| 亚洲jizzjizz日本少妇| 亚洲剧情一区二区| 日韩美女av在线免费观看| 欧美激情在线观看视频| 亚洲www在线观看| 九九精品在线观看| 国产欧美一区二区三区四区| 成人久久久久久久| 欧美激情久久久| 亚洲色图av在线| 欧美精品videosex极品1| 青草青草久热精品视频在线网站| 欧美在线视频网站| 欧美日本高清视频| 久久精品一本久久99精品| 日日狠狠久久偷偷四色综合免费| 91丨九色丨国产在线| 国产精品免费在线免费| 亚洲黄色片网站| 精品成人av一区| 色悠悠国产精品| 91精品国产九九九久久久亚洲| 日韩av电影在线免费播放| 成人激情视频在线播放| 日韩欧美999| 国产精品入口日韩视频大尺度| 国产欧美日韩精品专区| 日韩欧美精品网址| 精品免费在线视频| 最近2019好看的中文字幕免费| 国产美女精品免费电影| 国产精品免费视频久久久| 韩国三级电影久久久久久| 国产精品青草久久久久福利99| 欧美高跟鞋交xxxxxhd| 亚洲品质视频自拍网| 久久香蕉精品香蕉| 亚洲第一中文字幕在线观看| 国产精品日本精品| 亚洲欧美另类国产| www.亚洲天堂| 精品呦交小u女在线| 欧美孕妇与黑人孕交| 日韩亚洲综合在线| 福利微拍一区二区| 日韩精品免费一线在线观看| 大荫蒂欧美视频另类xxxx| 久久免费视频网站| 97av在线播放| 97涩涩爰在线观看亚洲| 97成人精品视频在线观看| 国产精品亚洲综合天堂夜夜| 日韩大片免费观看视频播放|