亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • php中的構(gòu)造方法與析構(gòu)方法

    時(shí)間:2020-11-10 13:30:03 PHP 我要投稿

    php中的構(gòu)造方法與析構(gòu)方法

      大多數(shù)類都有一種稱為構(gòu)造函數(shù)的特殊方法。下面給大家介紹php中的構(gòu)造方法與析構(gòu)方法,一起來了解一下吧!

      php中的構(gòu)造方法與析構(gòu)方法

      構(gòu)造方法是類中的一個(gè)特殊方法。當(dāng)使用 new 操作符創(chuàng)建一個(gè)類的實(shí)例時(shí),構(gòu)造方法將會自動調(diào)用,其名稱必須是 __construct() 。所以通常用它執(zhí)行一些有用的初始化任務(wù)。該方法無返回值。

      如果子類中定義了構(gòu)造函數(shù)則不會暗中調(diào)用其父類的構(gòu)造函數(shù)。要執(zhí)行父類的構(gòu)造函數(shù),需要在子類的.構(gòu)造函數(shù)中調(diào)用 parent::__construct()。

      與構(gòu)造方法對應(yīng)的就是析構(gòu)方法,析構(gòu)方法會在某個(gè)對象的所有引用都被刪除或者當(dāng)對象被顯式銷毀之前執(zhí)行的一些操作或者功能。析構(gòu)函數(shù)不能帶有任何參數(shù),其名稱必須是 __destruct() 。

      同樣,如果子類中定義了析構(gòu)函數(shù)則不會暗中調(diào)用其父類的析構(gòu)函數(shù)。要執(zhí)行父類的析構(gòu)函數(shù),需要在子類的析構(gòu)函數(shù)中調(diào)用 parent::__destruct()。

      注意:在析構(gòu)函數(shù)中拋出一個(gè)異常會導(dǎo)致致命錯(cuò)誤。

      <?php

      class Construct{

      protected $a;

      protected $b;

      function __construct($a,$b){ //定義構(gòu)造函數(shù)

      $this->a=$a;

      $this->b=$b;

      }

      function __destruct(){ //重新定義為初始值

      $result=0;

      echo '恢復(fù)乘積的初始值:'.$result;

      }

      }

      class son extends construct{

      private $c;

      function __construct($c){

      parent::__construct(6,10); //調(diào)用父類的構(gòu)造方法,使用方法:parent::__construct(); 有參數(shù)加參數(shù)

      $this->c=$c;

      }

      function show(){

      $result=$this->a*$this->b*$this->c;

      print 'abc的乘積是:'.$result.'&nbsp;';

      }

      function __destruct(){

      parent::__destruct(); //調(diào)用父類的析構(gòu)函數(shù),使用方式:parent::__destruct();

      }

      }

      $test=new son(12); //實(shí)例化對象

      $test->show(); //abc的乘積是:720 恢復(fù)乘積的初始值:0

      ?>