php-物件導向(3)

來源:互聯網
上載者:User
1.回顧:上篇學習了php的繼承,屬性和靜態屬性

2.這篇將學習php的類常量,自動載入類,建構函式和解構函式

3.類常量

 (1)常量的值始終不變,在定義和使用常量的時候不需要使用$符號 (2)介面(interface)中也可以定義常量
#定義和使用一個類常量     class aclass{         const a="a 是常量";         function showA(){             echo self::a;         }     }          echo aclass::a; //結果:a 是常量     echo aclass::showA(); //結果:a 是常量     $classname="aclass";     echo $classname::a; //結果:a 是常量     $ac=new aclass();     $ac->showA(); //結果:a 是常量         //PHP 5.3.0之後支援     $ac::a;
4.自動載入對象
 (1)__autoload 函數,它會在試圖使用尚未被定義的類時自動調用 (2) 不需要使用過量的include (3)_autoload函數中拋出異常不能被catch捕獲 (4)如果使用phpCLI互動模式時,自動載入不存在
  function __autoload($cName){       require_once $cName . 'php';   }    $d=new demo_aclass();    $d->say();

5.建構函式
 (1) __construct (args) 方法,實現建構函式 (2)建構函式可以每次建立的時候,先調用此方法,完成初始化工作 (3)子類中定義了建構函式不會自動調用父類建構函式 (4)若執行父類建構函式,需要在子類中調用 parrent::_construct()
  class baseClass{         function __construct(){             echo "base construct";         }     }     class subClass extends baseClass{         function __construct(){             parent::__construct();             echo "sub construct";         }     }     $bas=new baseClass();     $sub=new subClass();

6.解構函式
 (1)void__destruct(void) (2)解構函式會在某個對象的所有引用都刪除或者當對象被顯示銷毀時執行 (3)和建構函式一樣,不會自動調用,當子類在解構函式中顯示調用時執行 (4)parent::__destruct()
  echo "
"; class myClass{ function __construct(){ echo "construct 建構函式"; } function __destruct(){ echo "解構函式執行:".$this->name; } } $mc=new myClass();

下篇將學習php-物件導向: 存取控制

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

以上就介紹了php-物件導向(3),包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.