为啥外包喜欢php,为什么要面向对象?
為什么要面向?qū)ο?#xff1f;
我考慮了很久,也百度了很久。只是想找到一種我能理解的答案。
終于今天找到了,一點(diǎn)點(diǎn)靈感!
其實(shí)最直觀是提現(xiàn)在代碼的封裝 上 ?,但是這樣有點(diǎn)籠統(tǒng)。下面是網(wǎng)上的一個(gè)需求。
需求:張三是一位普通人,別人早晨向他打招呼,他會(huì)說”早上好”,
但有一天他被車撞了,腦子受了一些傷,因此,別人早晨向他打招呼時(shí),
他有時(shí)會(huì)說”早上好”,但有時(shí)會(huì)說”晚上好”,甚至辱罵對(duì)方. ?請(qǐng)用代碼實(shí)現(xiàn)
假如我是上帝,我把這兩個(gè)需求分給兩個(gè)程序猿。一個(gè)是面向過程的程序猿,一個(gè)是面向?qū)ο蟮某绦蛟场?/p>
面向過程的程序猿跟定會(huì)考慮,覺得比較與眾不同,覺得有一定難度。
可是面向過程的程序猿,覺得就是家常便飯,輕車熟路。
下面看看用面向?qū)ο笤趺赐瓿?#xff1a;一下是代碼:
class human {
public $iq = 100;
public function greet() {
if($this->iq>=100) {
echo ‘早上好
’;
} else {
$ci = array(‘早上好’,’晚上好’,’混蛋’);
echo $ci[rand(0,2)];
}
}
}
$lisi = new human();
// print_r($lisi);
$lisi->greet();
class car {
public function hit($people) {
$iq = rand(60,105);
$people->iq = $iq;
}
}
$bmw = new car(); //
$bmw->hit($lisi);
echo ‘智商:’,$lisi->iq,'
’;
$lisi->greet();
個(gè)人總結(jié):感覺面向?qū)ο缶褪窃谠鞂?duì)象然后讓這些對(duì)象產(chǎn)生關(guān)系,至于怎么產(chǎn)生關(guān)系,是客戶端程序猿的事,和造對(duì)象的人,沒有關(guān)系。
舉個(gè)容易理解的例子:就是上帝在造每一個(gè)人的(對(duì)象)的時(shí)候,她只是給了你,眼睛,嘴巴,鼻子 iq等屬相 ,還有一些動(dòng)作,比如吃飯,學(xué)習(xí)等。至于這個(gè)人每天干什么,以及將來會(huì)成為什么。上帝也不好說。
上面是思想層面的東西。下面是理論:
類是用于生成對(duì)象的代碼模板
對(duì)象是類的“實(shí)例”,它是由類定義的數(shù)據(jù)類型
創(chuàng)建一個(gè)類
class ShopProduct{
//類體
}
//造了兩個(gè)對(duì)象
$product1=new ShopProduct();
$product2=newShopProduct();
類可以定義被稱為屬性的特定變量。屬性也被稱為成員變量,
用來存放對(duì)象之間互不相同的數(shù)據(jù)。
類的屬性和標(biāo)準(zhǔn)的變量很相似,不過必須在聲明和賦值前加一個(gè)代表可見性的關(guān)鍵字。這個(gè)關(guān)鍵字可以是 public、protected和private,它決定了屬相的作用域
?>–>
標(biāo)簽:function, PHP
總結(jié)
以上是生活随笔為你收集整理的为啥外包喜欢php,为什么要面向对象?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奇偶性与魔术(一)——奇偶性的数学本质
- 下一篇: 动态规划算法php,php算法学习之动态