第6章-PHP面向对象编程课件.ppt

上传人:牧羊曲112 文档编号:3951297 上传时间:2023-03-28 格式:PPT 页数:34 大小:1MB
返回 下载 相关 举报
第6章-PHP面向对象编程课件.ppt_第1页
第1页 / 共34页
第6章-PHP面向对象编程课件.ppt_第2页
第2页 / 共34页
第6章-PHP面向对象编程课件.ppt_第3页
第3页 / 共34页
第6章-PHP面向对象编程课件.ppt_第4页
第4页 / 共34页
第6章-PHP面向对象编程课件.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《第6章-PHP面向对象编程课件.ppt》由会员分享,可在线阅读,更多相关《第6章-PHP面向对象编程课件.ppt(34页珍藏版)》请在三一办公上搜索。

1、第6章 PHP面向对象编程,主要内容,面向对象编程的基础知识PHP5中面向对象编程的基本技术 PHP5中面向对象编程的高级技术,6.1 面向对象编程的基础知识,面向对象编程的基本概念 对象一个面向对象的应用程序由一系列相关对象构成。对象是封装了属性与方法的实体。属性,对象的静态特征。方法,对象的动态行为。类具有相同特征与操作的一组对象的描述与定义。构造对象的模板或蓝本。一个具体对象则是相应类的一个实例。类和对象的关系,类似于数据类型与变量的关系。类的属性与方法统称为类的成员。基于类的每一个对象,都包含类的方法,但属性取值可能不同。,面向对象编程的主要特征 封装性,属性与方法置于对象之中,主要目

2、的实现对象的数据隐藏和数据保护,并为对象提供接口。访问对象的数据,只能通过操作实现。有效隐藏对象内部细节,实现对象的相对独立性。类也适用于封装性。封装性是结构化编程技术的逻辑延伸。继承性,从一个类派生出另外一个或多个新类。父类,被继承的类。子类,通过继承派生的类。多态性,同名方法的功能随对象类型或参数定义不同而有所不同。实现方法重载,对类中已有方法重新定义。对某类对象,调用多态方法时所传递的参数或参数个数不同,该方法实现的功能或过程也会不同。,6.2 PHP面向对象编程的基本技术,6.2.1类的创建6.2.2对象的使用6.2.3构造函数的使用6.2.4析构函数的使用6.2.5类属性的访问控制6

3、.2.6类方法的访问控制,6.2.1 类的创建,使用关键字class最简单的类-空类 class classname,类的基本格式属性:var方法:function,在类的方法中,可以访问类自身的有关属性格式:$this-propertyname$this特殊变量,指向当前类本身。-,PHP运算符,用于访问属性和方法。访问属性时,属性前无需加$。,【例6.1】类的创建示例xh=$xh;$this-xm=$xm;$this-xb=$xb;/输出学生信息 function getinfo()echo 学号:$this-xh.;echo 姓名:$this-xm.;echo 性别:$this-xb.;

4、?,6.2.2 对象的使用,对象是类的实例创建对象,实例化一个类$objectname=new classname;访问对象的属性与方法$objectname-propertyname$objectname-methodname(.)销毁对象$objectname=NULL;,【例6.2】对象的使用示例setinfo(200600001,卢铭,男);$MyStudent-getinfo();/调用方法(输出学生信息)$MyStudent-xm=卢俊;/访问属性(修改学生姓名)echo 姓名:.$MyStudent-xm;/访问属性(输出学生姓名)$MyStudent=NULL;/销毁对象?,6

5、.2.3 构造函数的使用,构造函数是类中的一个特殊函数(或特殊方法),可在创建对象时自动地加以调用。类中与类同名的函数,构造函数。初始化任务,属性初值,创建其他对象。在PHP5中,构造函数的名称则是固定的,即必须为_construct。,【例6.3】构造函数的使用示例。xh=$xh;$this-xm=$xm;$this-xb=$xb;function getinfo()/输出学生信息 echo 学号:$this-xh.;echo 姓名:$this-xm.;echo 性别:$this-xb.;$MyStudent=new student(200600001,卢铭,男);/创建学生对象$MyStu

6、dent-getinfo();/调用方法(输出学生信息)$MyStudent-xm=卢俊;/访问属性(修改学生姓名)echo 姓名:.$MyStudent-xm;/访问属性(输出学生姓名)$MyStudent=NULL;/销毁学生对象?,6.2.4 析构函数的使用,析构函数,一个特殊函数。在销毁对象时被自动调用。在PHP5中,则可以使用析构函数,且其名称是固定的,即必须为_destruct。析构函数不能带任何参数。,【例6.4】析构函数的使用示例xm=$xm;echo 学生xm.来啦!;function _destruct()/析构函数 echo 学生xm.走了!;$MyStudent=new

7、 student(李兵);/创建学生对象$MyStudent=NULL;/销毁学生对象?,6.2.5 类属性的访问控制,使用访问控制关键字publicprivateprotected,【例6.5】类属性的访问控制示例。,【例6.6】_get()函数与_set()函数的使用示例。,6.2.6 类方法的访问控制,使用访问控制关键字publicprivateprotected,【例6.7】类方法的访问控制示例。,6.3 PHP面向对象编程高级技术,6.3.1类的继承6.3.2方法的重载6.3.3对象的克隆与串行化6.3.4静态成员的使用6.3.5抽象方法与抽象类的使用6.3.6接口的使用6.3.7类

8、方法的调用处理6.3.8类文件的调用处理,6.3.1 类的继承,继承是面向对象编程的主要特征单重继承,一个子类只能有一个父类子类继承父类的属性和方法父类的private属性和方法不能被继承 定义新的属性和方法重新定义父类的同名属性重新定义父类的同名方法,使用关键字extends基本格式:,【例6.8】类的继承示例。parent:methname(.);【例6.9】类的继承示例。final class student_a,不能被继承。,6.3.2 方法的重载,多态是面向对象的主要特征所谓重载,子类重新定义父类的同名方法,【例6.10】方法的重载示例。【例6.11】方法的重载示例。final不允许

9、重载,6.3.3 对象的克隆,为已存在的对象建立副本副本与原对象具有相同属性与方法也可以改变原对象的某些属性克隆函数:_clone。【例6.12】对象的克隆示例。,6.3.4 对象的串行化,对象的串行化指将对象转化为一个字符串对象的反串行化指将串行化字符串还原为原来的对象串行化与反串行化,实现对象的保存和传输,对象串行化,serialize(),参数为对象名,返回值为对象被串行化后的字符串对象的反串行化,unserialize(),参数为对象的串行化字符串,返回值为重新组织好的对象名SLEEP(),包含被串行化的所有属性的数组,关闭数据库连接WAKEUP(),设置属性,重建数据库连接【例6.1

10、3】对象的串行化与反串行化示例。,6.3.5 静态成员的使用,使用关键字static来进行声明。在类的内部self:$propertynameself:methodname()在类的外部classname:$propertynameclassname:methodname()【例6.14】静态成员的使用示例。,6.3.6 抽象方法与抽象类的使用,用关键字abstract定义抽象方法,用关键字abstract定义的尚未实现且无任何参数的以;结束的方法抽象类,用关键字abstract定义的包含多个抽象方法的类抽象类不能被实例化,允许继承抽象类,生成子类,实现部分抽象方法所有抽象方法实现后,抽象类可被实例化【例6.15】抽象方法与抽象类的使用示例,6.3.7 接口的使用,使用关键字interface进行定义接口相当于一个抽象类,只有一个抽象方法接口中方法的声明必须与实体的实现相匹配创建类时,使用implements实现接口【例6.16】接口的使用示例,6.3.8 类方法的调用处理,使用_call()函数对类方法调用错误的统一处理特殊函数,两个参数,一个方法名,另一个参数数组【例6.17】类方法的调用处理示例,6.3.9 类文件的自动加载,使用_autoload()函数自动加载所需要的类管理、使用、维护大量的类【例6.18】类文件的自动加载示例,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号