• 技术文章 >后端开发 >php教程

    PHP面向对象的哲学详解

    小云云小云云2018-03-31 11:12:55原创626

    本文主要和大家分享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面向对象的哲学详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php 详解 哲学
    上一篇:PHP面向对象之this绑定详解 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 工具包分享:PHP实现滑块验证图片• Yii学习总结之数据访问对象 (DAO)• ThinkPHP函数详解:M方法• windows下配置apache+php+mysql时出现问题的处理方法_php技巧• 使用Sphinx对索引进行搜索_php技巧
    1/1

    PHP中文网