leo列

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

面向对象(PHP学习)

在对超大型项目的开发过程中,如果使用面向过程地开发,代码量是非常的庞大,这将大量的用到判断和循环嵌套,

和很多很相似的代码,不仅使项目代码量更加的庞大,还不利于开发,重用及维护。

面向对象就能很好的解决这个问题,面向对象很好的封装性,节省了很多精力,不用关心对象内部的运作,只要关心

对象与对象之间的交互,便于维护,而继承性使得代码大量地精简。

我们先来看一个题目:

:张三是一位普通人,别人早晨向他打招呼,他会说“早上好”,但是有一天他被车撞了,脑子受了一点伤,

因此,别人早晨向他打招呼时,他有时会说:“早上好”,但有时会说:“晚上好”,甚至辱骂对方。

分析:因为现在要面向对象,那我们先把对象拿出来

   对象1:张三(人)   智商(名称是属性)   打招呼(动词是方法)

   对象2:车子  撞人(动词是方法)

 

<?php
//创建一个human类,类是对象的实例(工厂里的模子)
class human{
    //普通人的iq为100
    public $iq = 100;
    //打招呼,早上看到人就早上好
    public function greet(){
        echo '早上好';
    }
}
//实例化一个对象李四
$lisi = new human();
$lisi->greet();
//返回早上好
 
 
?>

  这个是实例化一个正常的李四

      下面来看被车子撞了的李四

<?php
//创建一个human类,类是对象的实例(工厂里的模子)
class human{
    //普通人的iq为100
    public $iq = 100;
    //打招呼,早上看到人就早上好
    public function greet(){
        //当智商大于等于100
        if($this->iq>=100){
            echo '早上好','<br />';
        }else{
            //当智商小于100,随机出现以下问候
            $regard = array('早上好','晚上好','混蛋');
            echo $regard[rand(0,2)],'<br />';
        }
    }
}
//实例化一个对象李四
$lisi = new human();
$lisi->greet();
//返回早上好
class car{
    public function hit($people){
        //撞了以后人的智商随机出现了变化
        $people->iq=rand(40,120);
    }
}
//实例化一辆宝马车子
$baoma = new car();
//宝马车子撞人了
$baoma->hit($lisi);
//撞人之后人的智商
echo $lisi->iq,'<br />';
//人的根据智商的多少,问候也不相同
$lisi->greet();
 
?>

  

 

posted on   leo列  阅读(473)  评论(0编辑  收藏  举报

点击右上角即可分享
微信分享提示