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


Posted in PHP onJanuary 26, 2016

本文实例分析了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 相关文章推荐
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
PHP命名空间namespace用法实例分析
Sep 27 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
ThinkPHP5 的简单搭建和使用详解
Nov 15 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
Feb 20 PHP
PHP7 标准库修改
Mar 09 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 #PHP
php实现爬取和分析知乎用户数据
Jan 26 #PHP
简单谈谈php延迟静态绑定
Jan 26 #PHP
php制作的简单验证码识别代码
Jan 26 #PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 #PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 #PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
Jan 25 #PHP
You might like
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
Django 路由控制的实现代码
2018/11/08 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
python通过实例讲解反射机制
2019/10/17 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
python的Jenkins接口调用方式
2020/05/12 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
用HTML5制作视频拼图的教程
2015/05/13 HTML / CSS
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
图书室管理制度
2014/01/19 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
刑事案件上诉状
2015/05/23 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书