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

网络编程 PHP编程 php技巧 分类:[default] 更新日期: 2016-03-04
这篇文章主要介绍了PHP面向对象程序设计的方法,结合实例形式分析了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项目开发中用到的快速排序算法分析
    这篇文章主要介绍了php项目开发中用到的快速排序算法,结合实例形式详细分析了php快速排序的原理与使用方法,需要的朋友可以参考下本文实例讲述了php项目开发中用到的快速排序算法.分享给大家供大家参考,具体如下: 实际上在,做web开发,比较少遇到使用一些算法之类的,毕竟不是做搜索引擎,也不是写底层(比如写个类似于mysql这样的数据库,里面需要自己实现排序算 ...
  • php好代码风格的阶段性总结
    这篇文章主要介绍了php好代码风格,阶段性总结了php程序设计中变量.函数.参数的相关使用注意事项与编程技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文总结了php好代码的风格,分享给大家供大家参考,具体如下: 1.避免使用魔数 if($age<18){ } 这个18不太明白为什么要这样子. 可以将28定义在一个变量里面,这个变量命名表明了这个值的 ...
  • ASP.NETWebApi2实现多文件打包并下载文件的实例
    ASP.NETWebApi2实现多文件打包并下载文件的实例
    这篇文章主要介绍了ASP.NET Web Api 2利用ByteArrayContent和StreamContent实现多文件打包并下载的方法,提供源码下载,需要的朋友可以参考下.最近由于工作和个人事务,站点也好久没更新了,但这并不影响我对.NET的热情.站点的更新工作还是得想办法抽时间来完成的. 今天利用中午的时间来写一篇关于Asp.Net Web Api ...
  • 详解表单验证正则表达式实例(推荐)
    这篇文章主要介绍了详解表单验证正则表达式实例推荐的相关资料,非常不错,具有参考借鉴价值,特此分享到平台供大家参考验证:!reg.test(value) 邮箱: 代码如下:reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/i; 不包含中文: 代码如下:r ...
  • Linux上安装Python的PIL和Pillow库处理图片的实例教程
    这里我们来看一下在Linux上安装Python的PIL和Pillow库处理图片的实例教程,包括一个使用Pillow库实现批量转换图片的例子:安装正常情况,只需 pip install PIL==1.1.7 或者 pip install Pillow==2.9.0 即可.但需留意安装后的输出安装完成后,需留意输出: *** TKINTER support no ...
  • 将PHP的session数据存储到数据库中的代码实例
    这里我们将分享两个将PHP的session数据存储到数据库中的代码实例,分别针对PostgreSQL与MySQL,需要的朋友可以参考下一个开发环境有多个网站,需要使用不同的session,解决方案很多.不过这次也高大上一把,用数据库存,方便以后扩展. PostgreSQL版首先是数据库的部分 --drop table php_session create u ...
猜你喜欢