Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP面向对象的哲学详解

PHP面向对象的哲学详解

小云云
小云云asal
2018-03-31 11:12:551145semak imbas

本文主要和大家分享PHP面向对象的哲学详解,主要以文字的方式和大家讲解,希望能帮助到大家。

在学习面向对象前先来回顾下关于面向过程的例子:

/*
面向过程

从地址栏接收 gender性别参数  男/女

模拟商城迎宾的行为:
如顾客为男:则招呼“先生好”
如顾客为女:则招呼“女士好”
*/

$g = $_GET['gender'];if($g == '男') {    echo '先生好';
} else if ($g == '女') {    echo '女士好';
} else {    echo '妖猴!';
}echo &#39;<br >&#39;;

面向对象的简单例子:

/*
倒霉的张三

张三是一位普通人,别人早晨向他打招呼,他会说“早上好”。
但是有一天他被车撞了,脑子受了一点伤,
因此,别人早晨向他打招呼时,
他有时会说:“早上好”,但有时会说:“晚上好”,甚至辱骂对方。
*/


/*
从这个例子中我们能看到的相关元素:

张三
张三的智商
张三打招呼


车撞人
*/

/*
张三是一个对象
车也是一个对象

张三有智商 —> 属性[名字]
张三能打招呼 —> 功能/方法[动词]

车能撞人 —> 功能/方法[动词]
*/

class Man {
    public $iq = 100;    public function say() {
        $arr = array(&#39;早上好&#39;,&#39;晚上好&#39;,&#39;你妹啊&#39;);        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 &#39;<br />&#39;; 

// 撞击$QQ->hit($lisi);echo $lisi->iq,&#39;<br >&#39;;$lisi->say();echo &#39;<br />&#39;; 

$lisi->say();echo &#39;<br />&#39;; 

$lisi->say();echo &#39;<br />&#39;;

               

在学习面向对象前先来回顾下关于面向过程的例子:

/*
面向过程

从地址栏接收 gender性别参数  男/女

模拟商城迎宾的行为:
如顾客为男:则招呼“先生好”
如顾客为女:则招呼“女士好”
*/

$g = $_GET[&#39;gender&#39;];if($g == &#39;男&#39;) {    echo &#39;先生好&#39;;
} else if ($g == &#39;女&#39;) {    echo &#39;女士好&#39;;
} else {    echo &#39;妖猴!&#39;;
}echo &#39;<br >&#39;;

面向对象的简单例子:

/*
倒霉的张三

张三是一位普通人,别人早晨向他打招呼,他会说“早上好”。
但是有一天他被车撞了,脑子受了一点伤,
因此,别人早晨向他打招呼时,
他有时会说:“早上好”,但有时会说:“晚上好”,甚至辱骂对方。
*/


/*
从这个例子中我们能看到的相关元素:

张三
张三的智商
张三打招呼


车撞人
*/

/*
张三是一个对象
车也是一个对象

张三有智商 —> 属性[名字]
张三能打招呼 —> 功能/方法[动词]

车能撞人 —> 功能/方法[动词]
*/

class Man {
    public $iq = 100;    public function say() {
        $arr = array(&#39;早上好&#39;,&#39;晚上好&#39;,&#39;你妹啊&#39;);        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 &#39;<br />&#39;; 

// 撞击$QQ->hit($lisi);echo $lisi->iq,&#39;<br >&#39;;$lisi->say();echo &#39;<br />&#39;; 

$lisi->say();echo &#39;<br />&#39;; 

$lisi->say();echo &#39;<br />&#39;;

Atas ialah kandungan terperinci PHP面向对象的哲学详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP面向对象之this绑定详解Artikel seterusnya:php的ffmpeg - CSDN博客