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 相关文章推荐
建立文件交换功能的脚本(二)
Oct 09 PHP
PHP与javascript的两种交互方式
Oct 09 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
ThinkPHP中数据操作案例分析
Sep 27 PHP
非常全面的php日期时间运算汇总
Nov 04 PHP
php和asp语法上的区别总结
May 12 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
Yii框架函数简单用法分析
Sep 09 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 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
基于php验证码函数的使用示例
2013/05/03 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Tensorflow分类器项目自定义数据读入的实现
2019/02/05 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
django框架ModelForm组件用法详解
2019/12/11 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
python中openpyxl和xlsxwriter对Excel的操作方法
2021/03/01 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
教师自我鉴定范文
2014/03/20 职场文书
促销活动总结模板
2014/07/01 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书