范文為教學(xué)中作為模范的文章,也常常用來(lái)指寫(xiě)作的模板。常常用于文秘寫(xiě)作的參考,也可以作為演講材料編寫(xiě)前的參考。相信許多人會(huì)覺(jué)得范文很難寫(xiě)?以下是小編為大家收集的優(yōu)秀范文,歡迎大家分享閱讀。
php的類(lèi)和對(duì)象方法 php類(lèi)和對(duì)象的區(qū)別篇一
語(yǔ)法比較好理解,但面向?qū)ο笫蔷幊趟枷?,需要一定的代碼量才能理解存在的意義。我們不妨來(lái)看看php中的類(lèi)與對(duì)象入門(mén)知識(shí),以下僅供參考!
class name{
public $user = '張三';
function getuser(){
return $this->user;
}
}
class 關(guān)鍵字,定義類(lèi)的時(shí)候必須要有
name 類(lèi)名稱(chēng),命名規(guī)則雷同變量
{ … } 類(lèi)的代碼,寫(xiě)在這里面
public 定義可見(jiàn)性,后面會(huì)講
$user 定義類(lèi)屬性,很像變量
function getuser(){..} 定義類(lèi)方法,很像函數(shù)
$this 偽變量,在類(lèi)內(nèi)部調(diào)用方法、屬性時(shí)使用
只要看到 new xxx,這樣的語(yǔ)法,就一定是在實(shí)例化類(lèi)。
//實(shí)例化類(lèi),$n 是一個(gè)對(duì)象
$n = new name();
//調(diào)用類(lèi)屬性
echo $n->name;
//調(diào)用類(lèi)方法,有括號(hào)的是方法
echo $n->getuser();
//靜態(tài)調(diào)用類(lèi)屬性
name::$user;
name::getuser();
靜態(tài)調(diào)用,需要有 static 的修飾符,非本文重點(diǎn),略過(guò)。
功能和語(yǔ)法 和 變量非常接近。
在類(lèi)的內(nèi)部定義。
調(diào)用時(shí),必須通過(guò)類(lèi)的實(shí)例化對(duì)象。
功能和語(yǔ)法 和 函數(shù)非常接近。
在類(lèi)的內(nèi)部定義。
調(diào)用時(shí),必須通過(guò)類(lèi)的實(shí)例化對(duì)象。
能使用 $this,而函數(shù)沒(méi)有。
$this
php預(yù)先定義好的偽變量,用于在類(lèi)的內(nèi)部,調(diào)用其他方法和屬性。
只能用,不能對(duì)它賦值。
在類(lèi)的內(nèi)部,可以使用可見(jiàn)性修飾符,來(lái)修飾類(lèi)的屬性和方法。
class name{
public $user = 'test';
//定義受保護(hù)的類(lèi)方法
protected function get(){
return $this->user;
}
function get2(){
// 正確,在類(lèi)內(nèi)部可調(diào)用
$this->get();
}
}
$n = new name();
// 報(bào)錯(cuò),受保護(hù)的方法,外部不能調(diào)用。
$n->get();
public (公有)類(lèi)的內(nèi)部、外部都可以調(diào)用
protected (受保護(hù))只能在類(lèi)的內(nèi)部調(diào)用,包括子類(lèi)
private (私有)只能在類(lèi)的內(nèi)部調(diào)用,排除子類(lèi)
由php 定義好的一系列有特殊意義的方法。
它是魔術(shù)方法中比較常用的一種。
class name{
function __construct( $name ){
echo $name;
}
}
$n = new name( '張三' );
問(wèn)題:上面的代碼會(huì)輸出 ‘張三’ 嗎?
答案:原本不會(huì),因?yàn)闆](méi)有調(diào)用的類(lèi)方法。
實(shí)際:會(huì)輸出,因?yàn)?__construct() 是構(gòu)造方法,實(shí)例化類(lèi)的時(shí)候自動(dòng)執(zhí)行。
注意:你給對(duì)象傳的`參數(shù),會(huì)由構(gòu)造方法來(lái)接收。
還有別的魔術(shù)方法嗎?
下面的全是,用的不多,新人知道就好。
__destruct(),__call(), __callstatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __tostring(), __invoke(), __set_state(), __clone() 和 __debuginfo()
原則上,以“__”兩個(gè)下劃線(xiàn)開(kāi)頭的都應(yīng)該是。
在特定場(chǎng)景自動(dòng)執(zhí)行。
類(lèi)繼承
子類(lèi)繼承父類(lèi)的方法和屬性,來(lái)強(qiáng)化自己。
基本語(yǔ)法
class a{
function get(){
echo 'a';
}
}
class b extends a{
function get2(){
echo 'b';
}
}
$obj = new b();
//正確,繼承了 父類(lèi) a 的方法。
$obj->get();
子類(lèi) extends 父類(lèi) (繼承語(yǔ)法)
可見(jiàn)性為 private 的方法,不能繼承
父子類(lèi)同名的方法、屬性,優(yōu)先調(diào)用子類(lèi)
子類(lèi)可通過(guò) parent::方法() 來(lái)調(diào)用父類(lèi)方法,包括構(gòu)造函數(shù)
類(lèi)與對(duì)象,是語(yǔ)法學(xué)習(xí)時(shí)的一座大山,想理解它的精髓更非一日之功,所以新人在這里,能了解語(yǔ)法即可,至于為什么這樣用,需要實(shí)戰(zhàn)中慢慢提高。
s("content_relate");【php中的類(lèi)與對(duì)象入門(mén)知識(shí)】相關(guān)文章:
php新手之學(xué)習(xí)類(lèi)與對(duì)象
09-26
php入門(mén)小知識(shí)10-09
php語(yǔ)法入門(mén)知識(shí)08-23
php基礎(chǔ)入門(mén)知識(shí)08-18
php編程語(yǔ)言入門(mén)知識(shí)09-22
php類(lèi)和對(duì)象的相關(guān)函數(shù)講解10-01
php編程:類(lèi)和對(duì)象、方法調(diào)用09-19
php關(guān)于php上傳入門(mén)學(xué)習(xí)知識(shí)點(diǎn)10-04
php中的curl使用入門(mén)教程08-17
【本文地址:http://www.aiweibaby.com/zuowen/2685469.html】