- 相關(guān)推薦
解讀PHP面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)的方法,結(jié)合實(shí)例形式分析了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中類的聲明與實(shí)例化及類中方法的調(diào)用技巧,需要的朋友可以參考下。
在對(duì)超大型項(xiàng)目的開發(fā)過程中,如果使用面向過程地開發(fā),代碼量是非常的龐大,這將大量的用到判斷和循環(huán)嵌套,和很多很相似的代碼,不僅使項(xiàng)目代碼量更加的龐大,還不利于開發(fā),重用及維護(hù)。
面向?qū)ο缶湍芎芎玫慕鉀Q這個(gè)問題,面向?qū)ο蠛芎玫姆庋b性,節(jié)省了很多精力,不用關(guān)心對(duì)象內(nèi)部的運(yùn)作,只要關(guān)心對(duì)象與對(duì)象之間的交互,便于維護(hù),而繼承性使得代碼大量地精簡。
我們先來看一個(gè)題目:
例:張三是一位普通人,別人早晨向他打招呼,他會(huì)說“早上好”,但是有一天他被車撞了,腦子受了一點(diǎn)傷,因此,別人早晨向他打招呼時(shí),他有時(shí)會(huì)說:“早上好”,但有時(shí)會(huì)說:“晚上好”,甚至辱罵對(duì)方。
分析:因?yàn)楝F(xiàn)在要面向?qū)ο,那我們先把?duì)象拿出來
對(duì)象1:張三(人) 智商(名稱是屬性) 打招呼(動(dòng)詞是方法)
對(duì)象2:車子 撞人(動(dòng)詞是方法) <?php
//創(chuàng)建一個(gè)human類,類是對(duì)象的實(shí)例(工廠里的模子)
class human{
//普通人的iq為100
public $iq = 100;
//打招呼,早上看到人就早上好
public function greet(){
echo '早上好';
}
}
//實(shí)例化一個(gè)對(duì)象李四
$lisi = new human();
$lisi->greet();
//返回早上好
?>
這個(gè)是實(shí)例化一個(gè)正常的李四
下面來看被車子撞了的李四
<?php
//創(chuàng)建一個(gè)human類,類是對(duì)象的實(shí)例(工廠里的模子)
class human{
//普通人的iq為100
public $iq = 100;
//打招呼,早上看到人就早上好
public function greet(){
//當(dāng)智商大于等于100
if($this->iq>=100){
echo '早上好','<br />';
}else{
//當(dāng)智商小于100,隨機(jī)出現(xiàn)以下問候
$regard = array('早上好','晚上好','混蛋');
echo $regard[rand(0,2)],'<br />';
}
}
}
//實(shí)例化一個(gè)對(duì)象李四
$lisi = new human();
$lisi->greet();
//返回早上好
class car{
public function hit($people){
//撞了以后人的智商隨機(jī)出現(xiàn)了變化
$people->iq=rand(40,120);
}
}
//實(shí)例化一輛寶馬車子
$baoma = new car();
//寶馬車子撞人了
$baoma->hit($lisi);
//撞人之后人的智商
echo $lisi->iq,'<br />';
//人的根據(jù)智商的多少,問候也不相同
$lisi->greet();
?>
【解讀PHP面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例】相關(guān)文章:
php面向?qū)ο蟮某绦蛟O(shè)計(jì)01-25
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之接口用法07-08
PHP面向?qū)ο蟮倪M(jìn)階學(xué)習(xí)05-07
PHP語言面向?qū)ο蟮膬?nèi)容06-22
PHP面向?qū)ο笕筇攸c(diǎn)學(xué)習(xí)06-14
什么是PHP面向?qū)ο笾械闹剌d重寫07-03