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教程有興趣的朋友有所協助。