PHP面向对象程序设计之对象的遍历操作示例_php技巧

来源:脚本之家  责任编辑:小易  

对象是类的实例的意思面向对2113象面向对象是一5261种新兴的程序4102设计方法,或者说它是一种新的程序设计范型,其基本1653思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。它可以有不同层次的理解:从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。从程序设计的角度来看,面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列,面向对象OO(Object-Oriented)方法2113是一种非常实用的软件开发方法,它5261以客世界中的4102对象为中心。开始学习JAVA没必要在OO上下太多功夫1653,因为在你没真正参与过大型项目的开发时,是不能真正体会到它的精髓的。建议你边学边理解OO设计的思想。否则说来只会很空洞。 像Java、c++、c#都支持面向对象的编程。而C则是面向过程的。简单说对象(Object)在面向对象的系统中,是基本的运行时的实体,它既包括数据(属性),也包括作用于数据的操作(行为)。所以一个对象把属性和行为封装为一个整体。封装是一种信息隐蔽技术,目的是使对象的使用者和生产者分离,使对象的定义和实现分开。 从程序设计的角度去看,对象是一个程序模块;从用户角度去看,对象为他们提供了所希望的行为。在对象内的操作通常叫方法。一个对象通常由对象名、属性和操作3部分组成。 在现实世界中,每个实体都是对象,e.g学生、汽车、电视机、空调……每个对象都有它的属性和操作,e.g电视有颜色、音量、亮度……属性,可以切换频道、增减音量等操作。电视的属性值表示了电视所处的状态,而这些属性只能通过提供的操作来改变。电视的各组成部分,人们是不知道也不关心电视如何实现这些操作www.zgxue.com防采集请勿采集本网。

本文实例讲述了PHP面向对象程序设计之对象的遍历操作。分享给大家供大家参考,具体如下:

区别:面向对象 注重对数据的使用。试图把抄数据和对其的操作封装在一起(类),并且尝试去自动处理一些不同的函数的调用工作(多态,重载等),以袭减轻对函数的依赖。面向过程 则注重对函数

对象的遍历和数组的遍历一样,对象的遍历指的是实例属性的遍历。

面向对象程序设计既吸取了结构化程序设计的一切优点,又考虑了现实世界与面向对象解空间的映射关系,它所追求的目标是将现实世界的问题求解尽可能简单化. 面向对象程序设计将数据及对数据的操作

下面遍历出来的属性,是在该范围中的“可访问属性”(要考虑访问权限)。

1、面向对象其实是现实世界模型的自然延伸。2、现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。3、另外,现实世界中任何实体都可归属于某面向对象编程语言为:程序=对象+消息。

<?phpclass A{ public $p1 = 1; protected $p2 = 2; private $p3 = 3; static $p4 = 4;}$obj1 = new A();foreach($obj1 as $key => $value){//$key表示对象的属性,$value是其对应的值 echo "<br />属性$key :" . $value;}?>

1、易维护采用面向对象思想设计的结构,可读性高,由于继承的抄存在,即使改变需求,那么维护也只是在局部模块,所以维护起2113来是非常方便和较低成本的。2、质量高在设计时,可重用现有的,在

运行结果:

是多态 谢谢

属性p1 :1

可见只有public修饰的属性才能遍历,那如何使一个对象的所有属性都遍历?在类内部写一个遍历的方法即可。

<?phpclass A{ public $p1 = 1; protected $p2 = 2; private $p3 = 3; static $p4 = 4; //静态属性 function showAllProperties(){ foreach($this as $key => $value){ echo "<br />属性$key :$value"; } }}$obj1 = new A();$obj1->showAllProperties();?>

运行结果:

是多态 谢谢

属性p1 :1

属性p2 :2

属性p3 :3

但静态属性不属于对象,所以不能遍历。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

在php的面向对象编程中,总会遇到 class test{ public static function test(){ self:func();static:func();} public static function func(){} } 可你知道self和static的区别么?其实区别很简单,只需要写几个demo就能懂:Demo for self:class Car { public static function model(){ self:getModel();} protected static function getModel(){ echo"This is a car model;} } Car:model();Class Taxi extends Car { protected static function getModel(){ echo"This is a Taxi model;} } Taxi:model();得到输出 This is a car model This is a car model 可以发现,self在子类中还是会调用父类的方法 Demo for static class Car { public static function model(){ static:getModel();} protected static function getModel(){ echo"This is a car model;} } Car:model();Class Taxi extends Car { protected static function getModel(){ echo"This is a Taxi model;} } Taxi:model();得到输出 This is a car model This is a Taxi model 可以看到,在调用static,子类哪怕调用的是父类的方法,但是父类方法中调用的方法还会是子类的方法(好绕嘴。在PHP5.3版本以前,static和self还是有一点区别,具体是什么,毕竟都是7版本的天下了。就不去了解了。总结呢就是:self只能引用当前类中的方法,而static关键字允许函数能够在运行时动态绑定类中的方法内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • php简单遍历对象示例
  • php var_dump遍历对象属性的函数与应用代码
  • php面向对象中static静态属性和静态方法的调用
  • php中类和对象:静态属性、静态方法
  • php实现在对象之外访问其私有属性private及保护属性protected的方法
  • php面向对象中static静态属性与方法的内存位置分析
  • php实现删除多重数组对象属性并重新赋值的方法
  • php获取对象属性的三种方法实例分析
  • php 5.0对象模型深度探索之属性和方法
  • php中的iterator迭代对象属性详解
  • php利用cookie实现自动登录的方法
  • php中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
  • php模仿asp application对象在线人数统计实现方法
  • zend framework上传文件重命名的实现方法
  • php解析xml提示invalid byte 1 of 1-byte utf-8 sequence错误的处
  • php设置头信息及取得返回头信息的方法
  • php实现删除指定目录下相关文件的方法
  • 解析php做推送服务端实现ios消息推送
  • php如何实现不借助ide快速定位行数或者方法定义的文件和位置
  • php使用指定字符列表生成随机字符串的方法
  • 如何理解PHP面向对象程序设计
  • Java面向对象程序设计 这句话中的对象指的是什么?
  • 新手请教,php怎么设计面向对象的程序?
  • 在面向对象程序设计中,什么是指把对象的属性和操作结合在一起,构成一个独立的。
  • 面向过程程序设计和面向对象程序设计的区别和联系分别是什么
  • 面向对象程序设计是将数据,方法通过什么成一个整体
  • 面向对象程序设计方法中,对象是什么意思,如何描述一个对象
  • C++简答题 1.面向对象程序设计的特征是什么? 2.什么是面向对象中的消
  • 面向对象程序设计中“对象指的是什么?”
  • 在面向对象程序设计中,对象是一个由什么组成的概念
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全php基础php技巧php实例php文摘php模板首页php编程php技巧php面向对象程序设计入门教程php数组(array)操作技巧大全php基本语法入门教程php运算与运算符用法总结php字符串(string)用法总结php+mysql数据库操作入门教程php常见数据库操作技巧汇总php简单遍历对象示例php var_dump遍历对象属性的函数与应用代码php面向对象中static静态属性和静态方法的调用php中类和对象:静态属性、静态方法php实现在对象之外访问其私有属性private及保护属性protected的方法php面向对象中static静态属性与方法的内存位置分析php实现删除多重数组对象属性并重新赋值的方法php获取对象属性的三种方法实例分析php 5.0对象模型深度探索之属性和方法php中的iterator迭代对象属性详解php利用cookie实现自动登录的方法php中文处理 中文字符串截取(mb_substr)和获取中文字符串字数php模仿asp application对象在线人数统计实现方法zend framework上传文件重命名的实现方法php解析xml提示invalid byte 1 of 1-byte utf-8 sequence错误的处php设置头信息及取得返回头信息的方法php实现删除指定目录下相关文件的方法解析php做推送服务端实现ios消息推送php如何实现不借助ide快速定位行数或者方法定义的文件和位置php使用指定字符列表生成随机字符串的方法php中json_decode()和json_encodphp 数组和字符串互相转换实现方php中使用curl实现get和post请求php中iconv函数使用方法php日期转时间戳,指定日期转换成php 页面跳转到另一个页面的多种php中文处理 中文字符串截取(mb_php下intval()和(int)转换使用与利用phpexcel实现excel数据的导入phpmyadmin 配置文件详解(配置)php下的权限算法的实现php数组函数序列之array_keys() - 获取数php读取excel类文件php 函数中静态变量使用的问题实例分析php实现水印文字和缩略图的方法示例php数组生成xml格式数据的封装类实例php时间类完整实例(非常实用)php引用传值实例详解学习php 无法载入mysql扩展php绘制圆形的方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved