本文實例講述了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程序設計有所幫助。