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 调用远程url的六种方法小结
Nov 02 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
php中session与cookie的比较
Jan 27 PHP
PHP实现抓取Google IP并自动修改hosts文件
Feb 12 PHP
详解YII关联查询
Jan 10 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
php实现的二分查找算法示例
Jun 20 PHP
PHP PDOStatement::rowCount讲解
Feb 01 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
PHP网站常见安全漏洞,及相应防范措施总结
Mar 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
php下过滤HTML代码的函数
2007/12/10 PHP
PHP Class&amp;Object -- 解析PHP实现二叉树
2013/06/25 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python数据操作方法封装类实例
2017/06/23 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
想学画画?python满足你!
2020/12/24 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
大学教师年终总结的自我评价
2013/10/29 职场文书
委托公证书范本
2014/04/03 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
倡议书作文
2015/01/19 职场文书
商务代表岗位职责
2015/02/15 职场文书
工作试用期自我评价
2015/03/10 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android