本文主要和大家分享PHP面向对象的哲学详解,主要以文字的方式和大家讲解,希望能帮助到大家。
在学习面向对象前先来回顾下关于面向过程的例子:
/*
面向过程
从地址栏接收 gender性别参数 男/女
模拟商城迎宾的行为:
如顾客为男:则招呼“先生好”
如顾客为女:则招呼“女士好”
*/
$g = $_GET['gender'];if($g == '男') { echo '先生好'; } else if ($g == '女') { echo '女士好'; } else { echo '妖猴!'; }echo '<br >';
面向对象的简单例子:
/*
倒霉的张三
张三是一位普通人,别人早晨向他打招呼,他会说“早上好”。
但是有一天他被车撞了,脑子受了一点伤,
因此,别人早晨向他打招呼时,
他有时会说:“早上好”,但有时会说:“晚上好”,甚至辱骂对方。
*/
/*
从这个例子中我们能看到的相关元素:
张三
张三的智商
张三打招呼
车
车撞人
*/
/*
张三是一个对象
车也是一个对象
张三有智商 —> 属性[名字]
张三能打招呼 —> 功能/方法[动词]
车能撞人 —> 功能/方法[动词]
*/
class Man { public $iq = 100; public function say() { $arr = array('早上好','晚上好','你妹啊'); if($this->iq >= 100) { echo $arr[0]; } else { $i = rand(0,2); echo $arr[$i]; } } }class Car { public function hit($people) { $newiq = rand(50,110); $people->iq = $newiq; } }$lisi = new Man();$QQ = new Car();$lisi->say();echo '<br />'; // 撞击$QQ->hit($lisi);echo $lisi->iq,'<br >';$lisi->say();echo '<br />'; $lisi->say();echo '<br />'; $lisi->say();echo '<br />';
在学习面向对象前先来回顾下关于面向过程的例子:
/*
面向过程
从地址栏接收 gender性别参数 男/女
模拟商城迎宾的行为:
如顾客为男:则招呼“先生好”
如顾客为女:则招呼“女士好”
*/
$g = $_GET['gender'];if($g == '男') { echo '先生好'; } else if ($g == '女') { echo '女士好'; } else { echo '妖猴!'; }echo '<br >';
面向对象的简单例子:
/*
倒霉的张三
张三是一位普通人,别人早晨向他打招呼,他会说“早上好”。
但是有一天他被车撞了,脑子受了一点伤,
因此,别人早晨向他打招呼时,
他有时会说:“早上好”,但有时会说:“晚上好”,甚至辱骂对方。
*/
/*
从这个例子中我们能看到的相关元素:
张三
张三的智商
张三打招呼
车
车撞人
*/
/*
张三是一个对象
车也是一个对象
张三有智商 —> 属性[名字]
张三能打招呼 —> 功能/方法[动词]
车能撞人 —> 功能/方法[动词]
*/
class Man { public $iq = 100; public function say() { $arr = array('早上好','晚上好','你妹啊'); if($this->iq >= 100) { echo $arr[0]; } else { $i = rand(0,2); echo $arr[$i]; } } }class Car { public function hit($people) { $newiq = rand(50,110); $people->iq = $newiq; } }$lisi = new Man();$QQ = new Car();$lisi->say();echo '<br />'; // 撞击$QQ->hit($lisi);echo $lisi->iq,'<br >';$lisi->say();echo '<br />'; $lisi->say();echo '<br />'; $lisi->say();echo '<br />';
以上是PHP面向对象的哲学详解的详细内容。更多信息请关注PHP中文网其他相关文章!