糯米文學吧

位置:首頁 > 計算機 > php語言

解讀PHP面向對象程序設計實例

php語言8.73K

PHP面向對象程序設計的方法,結合實例形式分析了PHP面向對象程序設計中類的聲明與實例化及類中方法的調用技巧,需要的朋友可以參考下。

解讀PHP面向對象程序設計實例

在對超大型項目的開發過程中,如果使用面向過程地開發,代碼量是非常的'龐大,這將大量的用到判斷和循環嵌套,和很多很相似的代碼,不僅使項目代碼量更加的龐大,還不利於開發,重用及維護

面向對象就能很好的解決這個問題,面向對象很好的封裝性,節省了很多精力,不用關心對象內部的運作,只要關心對象與對象之間的交互,便於維護,而繼承性使得代碼大量地精簡。

  我們先來看一個題目:

例:張三是一位普通人,別人早晨向他打招呼,他會説“早上好”,但是有一天他被車撞了,腦子受了一點傷,因此,別人早晨向他打招呼時,他有時會説:“早上好”,但有時會説:“晚上好”,甚至辱罵對方。

分析:因為現在要面向對象,那我們先把對象拿出來

對象1:張三(人) 智商(名稱是屬性) 打招呼(動詞是方法)

對象2:車子  撞人(動詞是方法)  <?php

//創建一個human類,類是對象的實例(工廠裏的模子)

class human{

//普通人的iq為100

public $iq = 100;

//打招呼,早上看到人就早上好

public function greet(){

echo '早上好';

}

}

//實例化一個對象李四

$lisi = new human();

$lisi->greet();

//返回早上好

?>

這個是實例化一個正常的李四

下面來看被車子撞了的李四

<?php

//創建一個human類,類是對象的實例(工廠裏的模子)

class human{

//普通人的iq為100

public $iq = 100;

//打招呼,早上看到人就早上好

public function greet(){

//當智商大於等於100

if($this->iq>=100){

echo '早上好','<br />';

}else{

//當智商小於100,隨機出現以下問候

$regard = array('早上好','晚上好','混蛋');

echo $regard[rand(0,2)],'<br />';

}

}

}

//實例化一個對象李四

$lisi = new human();

$lisi->greet();

//返回早上好

class car{

public function hit($people){

//撞了以後人的智商隨機出現了變化

$people->iq=rand(40,120);

}

}

//實例化一輛寶馬車子

$baoma = new car();

//寶馬車子撞人了

$baoma->hit($lisi);

//撞人之後人的智商

echo $lisi->iq,'<br />';

//人的根據智商的多少,問候也不相同

$lisi->greet();

?>