为啥外包喜欢php,为什么要面向对象?
為什么要面向對象?
我考慮了很久,也百度了很久。只是想找到一種我能理解的答案。
終于今天找到了,一點點靈感!
其實最直觀是提現在代碼的封裝 上 ?,但是這樣有點籠統。下面是網上的一個需求。
需求:張三是一位普通人,別人早晨向他打招呼,他會說”早上好”,
但有一天他被車撞了,腦子受了一些傷,因此,別人早晨向他打招呼時,
他有時會說”早上好”,但有時會說”晚上好”,甚至辱罵對方. ?請用代碼實現
假如我是上帝,我把這兩個需求分給兩個程序猿。一個是面向過程的程序猿,一個是面向對象的程序猿。
面向過程的程序猿跟定會考慮,覺得比較與眾不同,覺得有一定難度。
可是面向過程的程序猿,覺得就是家常便飯,輕車熟路。
下面看看用面向對象怎么完成:一下是代碼:
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();
個人總結:感覺面向對象就是在造對象然后讓這些對象產生關系,至于怎么產生關系,是客戶端程序猿的事,和造對象的人,沒有關系。
舉個容易理解的例子:就是上帝在造每一個人的(對象)的時候,她只是給了你,眼睛,嘴巴,鼻子 iq等屬相 ,還有一些動作,比如吃飯,學習等。至于這個人每天干什么,以及將來會成為什么。上帝也不好說。
上面是思想層面的東西。下面是理論:
類是用于生成對象的代碼模板
對象是類的“實例”,它是由類定義的數據類型
創建一個類
class ShopProduct{
//類體
}
//造了兩個對象
$product1=new ShopProduct();
$product2=newShopProduct();
類可以定義被稱為屬性的特定變量。屬性也被稱為成員變量,
用來存放對象之間互不相同的數據。
類的屬性和標準的變量很相似,不過必須在聲明和賦值前加一個代表可見性的關鍵字。這個關鍵字可以是 public、protected和private,它決定了屬相的作用域
?>–>
標簽:function, PHP
總結
以上是生活随笔為你收集整理的为啥外包喜欢php,为什么要面向对象?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奇偶性与魔术(一)——奇偶性的数学本质
- 下一篇: .nav ul .mall a:hove