课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
对象是我们在学习软件编程开发的时候需要了解的一个概念,而今天我们就给大家简单介绍一下PHP编程开发中对象的一些基础知识。
一、对象的概念
对象是我们可以进行研究的任何事物,世间万物都可以看作对象。它不仅可以表示我们可以看到的具体事物,也可以表示那些我们看不见的事件等。对象是一个实体,它具有状态,一般我们用变量来表示,同时它也可以具有操作行为,一般用方法来表示,对象就是对象状态和对象行为的集合体。
在之前我们很多次的说到类,对于对象来说,具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,我们常常也说对象是类的实例。从对象的表现形式来看,它和一般的数据类型在形式上十分相似,但是它们在本质是不同的。对象拥有方法,对象间的通信是通过方法调用,以一种消息传递的方式进行。而我们常说的面向对象编程(OOP)使得对象具有交互能力的主要模型就是消息传递模型。对象是消息传递的主体,它可以接收,也可以拒绝外界发来的消息。
二、对象池
这里针对对象,我们引入一个新的概念--对象池。我们将PHP内核在运行中存储所有对象的列表称之为对象池,即EG(objects_store)。这个对象池的作用是存储PHP中间代码运行阶段所有生成的对象,这个思想有点类似于我们做数据库表设计时,当一个实例与另一个实体存在一对多的关系时,将多的那一端对应的实体提取出来存储在一个独立的表一样。这样做的好处有两个,一个是可以对象复用,另一个是节省内存,特别是在对象很大,并且我们不需要用到对象的所有信息时。
三、成员变量
从前面的对象结构来看,对象的成员变量存储在properties参数中。并且每个对象都会有一套标准的操作函数,如果需要获取成员变量,对象后调用的是read_property,其对应的标准函数为zend_std_read_property;如果需要设置成员变量,对象后调用的是write_property,其对应的标准函数zend_std_write_property。这些函数都是可以定制的,如果有不同的需求,可以通过设置对应的函数指针替换。
四、成员方法
成员方法又包括常规的成员方法和魔术方法。魔术方法在前面的五小节已经介绍过了,这里就不再赘述。在对象的标准函数中并没有成员方法的调用函数,默认情况下设置为NULL。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!