PHP類的特性實例分析
本文實例講述了PHP類的特性。分享給大家供大家參考,具體如下:
對象向下傳遞特性
當(dāng)一個對象調(diào)用一個實例方法,然后在該方法中又去靜態(tài)調(diào)用另一個類的方法,則在被靜態(tài)調(diào)用的方法中獲得源方法中的對象(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();
運行結(jié)果為:
1
1
static 后期靜態(tài)綁定
static有3個不同含義的語法
函數(shù)中的靜態(tài)變量
function f(){ static $v = 1; }
類中的靜態(tài)成員
class bee{ static $v = 1; static function f(){} }
方法中的動態(tài)指定‘當(dāng)前類',與self不同,static所代表的是調(diào)用本方法的類(動態(tài)),self指其代碼所在的類(靜態(tài))
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();
運行結(jié)果如下:
bee:10-10
bee:10-20
面向?qū)ο笕笏枷?/strong>
1. 封裝
就是把數(shù)據(jù)封裝起來盡量不給別人看,可以認為最基本的封裝是把很多的數(shù)據(jù)封裝類里面,但更嚴(yán)格地講,是盡量將屬性做成私有的,并通過共有的方法向外提供操作。
2. 繼承
3. 多態(tài)
通常指的是一個對象用同樣的方法得到不同的結(jié)果
也指不同的對象使用相同的方法得到不同的結(jié)果
PS:自 PHP 5.3.0 起,可以用一個變量來動態(tài)調(diào)用類。但該變量的值不能為關(guān)鍵字 self,parent 或 static【本例測試運行環(huán)境為php5.3.3】。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
php Smarty date_format [格式化時間日期]
php Smarty date_format [格式化時間日期] ,需要的朋友可以參考下。2010-03-03啟用Csrf后POST數(shù)據(jù)時出現(xiàn)的400錯誤
這篇文章主要介紹了啟用Csrf后POST數(shù)據(jù)時出現(xiàn)的400錯誤的相關(guān)資料,需要的朋友可以參考下2015-07-07php獲取微信基礎(chǔ)接口憑證Access_token
這篇文章主要為大家詳細介紹了php獲取微信基礎(chǔ)接口憑證Access_token,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08