本文實例講述了PHP類的特性。分享給大家供大家參考,具體如下:
對象向下傳遞特性
當一個對象調用一個實例方法,然后在該方法中又去靜態調用另一個類的方法,則在被靜態調用的方法中獲得源方法中的對象(this)
<?phpclass 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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選