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 相关文章推荐
第十一节 重载 [11]
Oct 09 PHP
一个PHP模板,主要想体现一下思路
Dec 25 PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
Nov 02 PHP
PHP的博客ping服务代码
Feb 04 PHP
如何使用PHP计算上一个月的今天
May 23 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
Feb 14 PHP
PHP Echo字符串的连接格式
Mar 07 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
php站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
两种php实现图片上传的方法
2016/01/22 PHP
PHP常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
新浪中用来显示flash的函数
2007/04/02 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Django-migrate报错问题解决方案
2020/04/21 Python
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
施工协议书范本
2014/04/22 职场文书
中秋节国旗下演讲稿
2014/09/05 职场文书
2015新学期家长寄语
2015/02/26 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
火烧圆明园观后感
2015/06/03 职场文书
Python初识逻辑与if语句及用法大全
2021/08/07 Python
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技