本文實例講述了PHP類的特性。分享給大家供大家參考,具體如下:
對象向下傳遞特性
當一個對象調用一個實例方法,然後在該方法中又去靜態調用另一個類的方法,則在被靜態調用的方法中獲得源方法中的對象(this)
<?php class bee{ public $a = 1; public function f(){ echo $this->a; echo '<br>'; @lig::f(); } } class lig{ public $a = 2; public function f(){ echo $this->a; } } $obj = new bee(); $obj->f();
運行結果為:
1
1
static 後期靜態綁定
static有3個不同含義的語法
函數中的靜態變量
function f(){ static $v = 1; }
類中的靜態成員
class bee{ static $v = 1; static function f(){} }
方法中的動態指定‘當前類',與self不同,static所代表的是調用本方法的類(動態),self指其代碼所在的類(靜態)
class bee{ static public $a = 10; static public function f(){ echo get_class().':'; echo self::$a.'-'; echo static::$a; } } class lig extends bee{ static public $a = 20; } echo bee::f(); echo '<br>'; echo lig::f();
運行結果如下:
bee:10-10
bee:10-20
面向對象三大思想
1. 封裝
就是把數據封裝起來盡量不給別人看,可以認為最基本的封裝是把很多的數據封裝類裡面,但更嚴格地講,是盡量將屬性做成私有的,並通過共有的方法向外提供操作。
2. 繼承
3. 多態
通常指的是一個對象用同樣的方法得到不同的結果
也指不同的對象使用相同的方法得到不同的結果
PS:自 PHP 5.3.0 起,可以用一個變量來動態調用類。但該變量的值不能為關鍵字 self,parent 或 static【本例測試運行環境為php5.3.3】。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。