最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php基礎(chǔ)知識:類與對象(3) 構(gòu)造函數(shù)和析構(gòu)函數(shù)

 更新時間:2006年12月13日 00:00:00   作者:  
構(gòu)造函數(shù)
PHP 5 允行開發(fā)者在一個類中定義一個方法作為構(gòu)造函數(shù)。具有構(gòu)造函數(shù)的類會在每次創(chuàng)建對象時先調(diào)用此方法,所以非常適合在使用對象之前做一些初始化工作。 
注意: 
如果子類中定義了構(gòu)造函數(shù)則不會暗中調(diào)用其父類的構(gòu)造函數(shù)。要執(zhí)行父類的構(gòu)造函數(shù),需要在子類的構(gòu)造函數(shù)中調(diào)用 parent::__construct()。(??和其他語言明顯不同??)

例10.8.使用新標(biāo)準的構(gòu)造函數(shù)
class BaseClass {
  function __construct() {
      print "In BaseClass constructor\n";
  }
}

class SubClass extends BaseClass {
  function __construct() {
      parent::__construct();
      print "In SubClass constructor\n";
  }
}
$obj = new BaseClass();
$obj = new SubClass();

為了實現(xiàn)向后兼容性,如果 PHP 5 在類中找不到 __construct() 函數(shù),它就會嘗試尋找舊式的構(gòu)造函數(shù),也就是和類同名的函數(shù)。因此唯一會產(chǎn)生兼容性問題的情況是:類中已有一個名為 __construct() 的方法,但它卻又不是構(gòu)造函數(shù)。 

析構(gòu)函數(shù)
PHP 5 引入了析構(gòu)函數(shù)的概念,這類似于其它面向?qū)ο蟮恼Z言,如 C++。析構(gòu)函數(shù)會在到某個對象的所有引用都被刪除或者當(dāng)對象被顯式銷毀時執(zhí)行。 
例10.9.析構(gòu)函數(shù)示例
class MyDestructableClass {
  function __construct() {
      print "In constructor\n";
      $this->name = "MyDestructableClass";
  }

  function __destruct() {
      print "Destroying " . $this->name . "\n";
  }
}
$obj = new MyDestructableClass();
和構(gòu)造函數(shù)一樣,父類的析構(gòu)函數(shù)不會被引擎暗中調(diào)用。要執(zhí)行父類的析構(gòu)函數(shù),必須在子類的析構(gòu)函數(shù)體中顯式調(diào)用 parent::__destruct()。 (??和其他語言明顯不同??)
注意: 
析構(gòu)函數(shù)在腳本關(guān)閉時調(diào)用,此時所有的頭信息已經(jīng)發(fā)出。 
注意: 
試圖在析構(gòu)函數(shù)中拋出一個異常會導(dǎo)致致命錯誤。

相關(guān)文章

最新評論

全州县| 上虞市| 泗洪县| 图们市| 合作市| 翁牛特旗| 田林县| 香格里拉县| 竹北市| 长丰县| 东辽县| 沙河市| 鄂伦春自治旗| 墨竹工卡县| 海兴县| 霸州市| 大姚县| 南汇区| 桑日县| 万载县| 化隆| 安阳县| 平原县| 琼结县| 浑源县| 武穴市| 常熟市| 宜良县| 望江县| 正宁县| 山西省| 灵丘县| 靖宇县| 松阳县| 荣成市| 荥阳市| 汝阳县| 徐闻县| 曲麻莱县| 南昌县| 泗水县|