您的位置:首页 > 编程语言 > PHP开发

PHP面向对象笔记 —— 107 面向对象的哲学

2018-03-30 22:00 417 查看
在学习面向对象前先来回顾下关于面向过程的例子:

/*

面向过程

从地址栏接收 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 />';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面向对象