1.回顧:上篇的學習了php進階中的 過濾器
2.從這篇開始將學習 php——物件導向
3.物件導向
3.1瞭解
(1)php5 引入了新的物件模型 (object model),重寫了php的處理對象方式,允許更加的效能 (2)新特性包括:可見度,抽象類別和final類,類方法,魔術方法,介面,對象複製和類型提示 (3)php對象是按引用傳遞的,即每個包含對象的變數都持有對象的引用(reference),而不是整個對象的拷貝
3.2基本概念
(1) 關鍵字 class開頭,後面跟著類名,可以是任何非php保留字的名字 (2) 包含類成員和方法的定義 (3) 偽變數$this 可以在當一個方法在對象內調用時使用。 (4) $this是一個到調用對象的引用 (5) 通常方法所屬於對象,但也可以是另一個對象,如果該方法是從第二個對象內靜態調用的話
3.3 $this 的使用
$this的使用 class one{ function oneFun(){ if(isset($this)){ echo '$this 的定義是 ('; echo get_class($this); echo ')'; }else{ echo '$this 沒有定義'; } } } class two{ function twoFun(){ one::oneFun(); } } $a =new one(); $a->oneFun(); //結果:$this 的定義是 (one) one::oneFun();//結果:$this 沒有定義 $b=new two(); $b->twoFun(); //結果:$this 的定義是 (two) two::twoFun();//結果:$this 沒有定義
3.4. 簡單類定義
class aclass{ //成員變數 public $var="我是成員變數"; public $t1="我是t1"; //成員函數/方法 public function displayVar(){ echo "
"; echo $this->var; echo $this->t1; } }
3.5 new關鍵字
(1)建立對象執行個體的時候,必須建立一個新的對象並將其賦值給一個變數
(2)每次建立新對象時,該對象總是被賦值,除非構函數出錯
//調用 $c=new aclass(); $c->displayvar();
3.6 對象賦值
當把一個對象已經建立的執行個體賦值給新變數的時候,新變數會訪問同一個執行個體
#當把一個對象已經建立的執行個體賦值給新變數的時候,新變數會訪問同一個執行個體 $d=$c; $e =& $c; $c->var='$d 有這個值'; $c=NULL; echo "
"; var_dump($c); //結果:NULL var_dump($d); //結果:object(aclass)#3 (2) { ["var"]=> string(15) "$d 有這個值" ["t1"]=> string(8) "我是t1" } var_dump($e); //結果:NULL
下篇將學習,繼承,屬性和靜態屬性/方法(static)
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
以上就介紹了php-物件導向(1),包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。