如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
PHP面向对象技术面向对象的PHP面向对象程序设计概述PHP5的面向对象模型什么是对象?对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,数据与代码都被捆绑在一个实体中。一个对象由一组属性和对这组属性进行操作的一组行为组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组行为的封装体。客观世界是由对象和对象之间的联系组成的。类和对象的关系类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对对象的抽象就是类.类描述了一组有相同特性(属性)和相同行为(方法)的对象。PHP的类与面向对象一、从PHP4到PHP5是一次全新革新,PHP5已经完全支持面向对象,而不是再像PHP4那样仅仅实现一个继承的功能,增加了大量的特性和修正基本“对象”的行为。二、在PHP中定义类:格式:classclassname{[public$property[=value];...]//属性[functionfunctionname(args){代码}...]//类的方法(成员函数)}生成对象(类的实例化):$对象名=newclassname();三、类的属性及方法属性:通过在类定义中使用关键字"public"来声明变量,即创建了类的属性。如:public$somevar;方法(成员函数):通过在类定义中声明函数,即创建了类的方法。如:functionsomefun(参数列表){......}属性与方法的访问:PHP中属性与方法的引用操作符是“->”格式:对象->属性或方法实例:<?phpclassPerson{//定义了一个Person类public$name;//定义属性namepublic$age;//定义属性agefunctionsay()//定义方法say(){echo"mynameis".$this->name."<br>";}}$zhangsan=newPerson();//生成对象zhangsan$zhangsan->name="zhangsan";//给对象中的name赋值$zhangsan->age=26;//给对象中的age赋值$zhangsan->say();//调用方法say()echo"ageis".$zhangsan->age;//输出age值?>使用对象属性:在一个类中,可以访问一个特殊的指针$this,例如上面的Person类中一个属性为$name,则当在该类中通过一个操作设置或访问该变量时,使用$this->name来引用.对象的生成:当定义好类后,我们使用new关键字来生成一个对象。$对象名称=new类名称();由于对象资料封装的特性,对象属性(类中定义的变量)是无法由主程序区块直接来访问的,必须通过对象来调用类中所定义的属性和行为函数,间接地达成存取控制类中资料的目的。对象和类的关系:对象是实际存在的,占有动态资源。类是对象的蓝图,可能占有静态资源。对象属性占有动态资源类(静态)属性实际上是有类名字空间上的“全局变量”性能考虑:每个对象要单独占用数据空间增加的调用层次可能消耗执行时间再论:方法的参数形式和传递方式构造函数与析构函数<?phpclassperson{public$name;public$age;function__construct(){//构造函数$this->name="lisi";$this->age=28;}functionsay(){echo"mynameis".$this->name."<br/>";echo"myageis".$this->age."<br/>";}}$per=newperson();$per->say();$per->name="zhangsan";$per->age=26;$per->say();?>析构函数:与构造函数相对的就是析构函数。析构函数是PHP5新添加的内容,在PHP4中没有析构函数。析构函数允许在销毁一个类之前执行的一些操作或完成一些功能,这些操作或功能通常在所有对该类的引用都被重置或超出作用域时自动发生。与构造函数的名称类似,一个类的析构函数名称必须是两个下划线__destruct()。析构函数不能带有任何参数。例如:<?phpclassperson{function__destru