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 相关文章推荐
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
来自phpguru得Php Cache类源码
Apr 15 PHP
php header示例代码(推荐)
Sep 08 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
ThinkPHP标签制作教程
Jul 10 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
php实现二进制和文本相互转换的方法
Apr 18 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
Oct 10 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 PHP
php TP5框架生成二维码链接
Apr 01 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/02 无线电
谈谈PHP语法(2)
2006/10/09 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
js实现缓动动画
2020/11/25 Javascript
Django 内置权限扩展案例详解
2019/03/04 Python
从0开始的Python学习016异常
2019/04/08 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
python各种excel写入方式的速度对比
2020/11/10 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
开服装店计划书
2014/08/15 职场文书
学生会个人总结范文
2015/02/15 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
python批量创建变量并赋值操作
2021/06/03 Python