PHP面向对象程序设计实例分析

yipeiwu_com5年前PHP代码库

本文实例分析了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();
?>

更多关于PHP面向对象相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP中define() 与 const定义常量的区别详解

本文实例讲述了PHP中define() 与 const定义常量的区别。分享给大家供大家参考,具体如下: 前言 今天在Stackoverflow又看到一个很有趣的文章,所以翻译过后摘了过来...

Admin generator, filters and I18n

Three easy steps 1) configure function Add an input for each field you want to include in you...

抓取并下载CSS中所有图片文件的php代码

抓取并下载CSS中所有图片文件的php代码

这篇文章的亮点是,正则式更加复杂鸟,╮(-_-)╭,再就是 Copy 函数的灰常强大的一个用法。 > 话说刚才听 NsYta 说小邪的主题太白了,杯具。最近太忙,没有空,不然就自己...

PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面

PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面

AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题,完全响应式管理,适合从小型移动设备到大型台式机很多的屏幕分辨率。 AdminLTE的特点: 充分...

PHP array_shift()用法实例分析

本文实例讲述了PHP array_shift()用法。分享给大家供大家参考,具体如下: array_shift()将数组开头的单元移出数组,并作为结果返回,将数组长度减一并将所有其它单元...