PHP中的類與對象入門知識
語法比較好理解,但面向?qū)ο笫蔷幊趟枷耄枰欢ǖ拇a量才能理解存在的意義。我們不妨來看看PHP中的類與對象入門知識,以下僅供參考!

基本語法
定義類
class name{
public $user = '張三';
function getUser(){
return $this->user;
}
}
class 關(guān)鍵字,定義類的時(shí)候必須要有
name 類名稱,命名規(guī)則雷同變量
{ … } 類的代碼,寫在這里面
public 定義可見性,后面會講
$user 定義類屬性,很像變量
function getUser(){..} 定義類方法,很像函數(shù)
$this 偽變量,在類內(nèi)部調(diào)用方法、屬性時(shí)使用
調(diào)用類
只要看到 new xxx,這樣的語法,就一定是在實(shí)例化類。
/pic/p>
$n = new name();
/pic/p>
echo $n->name;
/pic/p>
echo $n->getUser();
/pic/p>
name::$user;
name::getUser();
靜態(tài)調(diào)用,需要有 static 的修飾符,非本文重點(diǎn),略過。
類屬性
功能和語法 和 變量非常接近。
在類的內(nèi)部定義。
調(diào)用時(shí),必須通過類的實(shí)例化對象。
類方法
功能和語法 和 函數(shù)非常接近。
在類的內(nèi)部定義。
調(diào)用時(shí),必須通過類的實(shí)例化對象。
能使用 $this,而函數(shù)沒有。
$this
PHP預(yù)先定義好的偽變量,用于在類的內(nèi)部,調(diào)用其他方法和屬性。
只能用,不能對它賦值。
可見性
在類的內(nèi)部,可以使用可見性修飾符,來修飾類的屬性和方法。
class name{
public $user = 'test';
/pic/p>
protected function get(){
return $this->user;
}
function get2(){
/pic/p>
$this->get();
}
}
$n = new name();
/pic/p>
$n->get();
public (公有)類的內(nèi)部、外部都可以調(diào)用
protected (受保護(hù))只能在類的內(nèi)部調(diào)用,包括子類
private (私有)只能在類的內(nèi)部調(diào)用,排除子類
魔術(shù)方法
由PHP 定義好的一系列有特殊意義的方法。
構(gòu)造方法
它是魔術(shù)方法中比較常用的一種。
class name{
function __construct( $name ){
echo $name;
}
}
$n = new name( '張三' );
問題:上面的代碼會輸出 ‘張三’ 嗎?
答案:原本不會,因?yàn)闆]有調(diào)用的類方法。
實(shí)際:會輸出,因?yàn)?__construct() 是構(gòu)造方法,實(shí)例化類的時(shí)候自動執(zhí)行。
注意:你給對象傳的參數(shù),會由構(gòu)造方法來接收。
還有別的魔術(shù)方法嗎?
下面的全是,用的不多,新人知道就好。
__destruct(),__call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo()
魔術(shù)方法有什么特征
原則上,以“__”兩個(gè)下劃線開頭的都應(yīng)該是。
在特定場景自動執(zhí)行。
類繼承
子類繼承父類的方法和屬性,來強(qiáng)化自己。
基本語法
class a{
function get(){
echo 'a';
}
}
class b extends a{
function get2(){
echo 'b';
}
}
$obj = new b();
/pic/p>
$obj->get();
子類 extends 父類 (繼承語法)
可見性為 private 的方法,不能繼承
父子類同名的方法、屬性,優(yōu)先調(diào)用子類
子類可通過 parent::方法() 來調(diào)用父類方法,包括構(gòu)造函數(shù)
總結(jié)
類與對象,是語法學(xué)習(xí)時(shí)的一座大山,想理解它的精髓更非一日之功,所以新人在這里,能了解語法即可,至于為什么這樣用,需要實(shí)戰(zhàn)中慢慢提高。
【PHP中的類與對象入門知識】相關(guān)文章:
php入門小知識03-11
php基礎(chǔ)入門知識09-30
PHP語法入門知識01-01
php編程語言入門知識11-30