对象变量优秀课件.ppt

上传人:石*** 文档编号:78742028 上传时间:2023-03-19 格式:PPT 页数:29 大小:6.39MB
返回 下载 相关 举报
对象变量优秀课件.ppt_第1页
第1页 / 共29页
对象变量优秀课件.ppt_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《对象变量优秀课件.ppt》由会员分享,可在线阅读,更多相关《对象变量优秀课件.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、对象象变量量第1页,本讲稿共29页7.1 7.1 面向对象与面向过程面向对象与面向过程通常的编程语言所使用的方法有两种:面向过程方法通常的编程语言所使用的方法有两种:面向过程方法(C语言通常采用的方法)、面向对象(语言通常采用的方法)、面向对象(OOP)方法()方法(Java语语言通常采用的方法)。言通常采用的方法)。PHP作为一种混合语言,同时兼有面作为一种混合语言,同时兼有面向过程和面向对象这两种能力。在学习对象这种特殊变量之向过程和面向对象这两种能力。在学习对象这种特殊变量之前,先来了解一下什么是面向过程与面向对象。前,先来了解一下什么是面向过程与面向对象。第2页,本讲稿共29页7.1.

2、1 7.1.1 什么是面向过程什么是面向过程“面向过程面向过程”是一种以事件为中心的编程思想。该种编程是一种以事件为中心的编程思想。该种编程方法就是分析出解决问题所需要的步骤,然后用函数把这些步方法就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。本骤一步一步实现,使用的时候一个一个依次调用就可以了。本书前书前6章所涉及的代码几乎全部都是面向过程的方法。章所涉及的代码几乎全部都是面向过程的方法。面向过程的代码一般看起来会像这样:面向过程的代码一般看起来会像这样:第3页,本讲稿共29页7.1.2 7.1.2 什么是面向对象什么是面向对象“面向对

3、象面向对象”(Object Oriented,简称,简称OO)是一种以事)是一种以事物为中心的编程思想。为了达到物为中心的编程思想。为了达到7.1.1小节代码中的输出字小节代码中的输出字符串的效果与面向过程不同,面向对象会使用到如下所示符串的效果与面向过程不同,面向对象会使用到如下所示的代码:的代码:myprint();?第4页,本讲稿共29页7.1.3 7.1.3 面向对象与面向过程的特点面向对象与面向过程的特点通过通过7.1.1及及7.1.2小节对面向对象与面向过程的介绍,可小节对面向对象与面向过程的介绍,可以发现二者存在以下方面的关系:以发现二者存在以下方面的关系:代码封装不同。代码封装

4、不同。代码可维护性不同。代码可维护性不同。流程控制不同。流程控制不同。框架利用不同。框架利用不同。第5页,本讲稿共29页7.2 7.2 对象变量对象变量对象变量也属于变量的一种,但又不同于一般的变量。对象变量也属于变量的一种,但又不同于一般的变量。和数组变量一样,对象变量也是一种特殊的变量。对象变量和数组变量一样,对象变量也是一种特殊的变量。对象变量的定义方法以及其组成要素及使用方法都与一般的变量有所的定义方法以及其组成要素及使用方法都与一般的变量有所不同。这一节就来详细介绍类与对象的使用。不同。这一节就来详细介绍类与对象的使用。第6页,本讲稿共29页7.2.1 7.2.1 什么是类什么是类在

5、在PHP中类的概念通俗一点说:中类的概念通俗一点说:“类类”就是一类某事物的就是一类某事物的统称是具有相同的属性定义和行为表现的事物的集合。所有具统称是具有相同的属性定义和行为表现的事物的集合。所有具有一类特性的事物都可以被称作类。比如有一类特性的事物都可以被称作类。比如“人人”就是一个类,就是一个类,这个类具有这个类具有“国籍国籍”、“种族种族”、“年龄年龄”、“姓名姓名”等属性等属性定义,也具有定义,也具有“走路走路”、“工作工作”等行为表现。与这个类相区等行为表现。与这个类相区别,别,“动物动物”和和“植物植物”就是另外的两个类,因为这些不同的就是另外的两个类,因为这些不同的类具有不同的

6、特性。类具有不同的特性。类是一个泛称不是指的个体,可以说某一个人具有国籍,类是一个泛称不是指的个体,可以说某一个人具有国籍,但不能说但不能说“人人”这个类的这个类的“国籍国籍”是什么,因为是什么,因为“国籍国籍”这个这个属性的表现是要随着类的具体化而实现。类是虚无的东西,一属性的表现是要随着类的具体化而实现。类是虚无的东西,一个概念名词而已。真正用到的则是类的实例个概念名词而已。真正用到的则是类的实例对象。对象。第7页,本讲稿共29页7.2.2 7.2.2 创建类创建类对象是类的实例,类是对象是根本,使用对象必须以类为对象是类的实例,类是对象是根本,使用对象必须以类为前提。所以定义一个类是使用

7、类与对象的一个最基本的前提。前提。所以定义一个类是使用类与对象的一个最基本的前提。在在PHP中定义一个类要使用这样的语法格式:中定义一个类要使用这样的语法格式:class classnamevar$var;function functionname()statement;第8页,本讲稿共29页7.2.3 7.2.3 为类实例化对象为类实例化对象在类创建之后,实际使用时要用的不是类,而是类的对在类创建之后,实际使用时要用的不是类,而是类的对象。比如,说到某一个具体的人要做什么而不能说人类做什象。比如,说到某一个具体的人要做什么而不能说人类做什么。所以要为类实例化对象,即以类为基础创建对应于类的么

8、。所以要为类实例化对象,即以类为基础创建对应于类的对象。对象。7.2.1小节介绍了类的创建方法,本小节再来介绍如何小节介绍了类的创建方法,本小节再来介绍如何为类实例化一个对象。在为类实例化一个对象。在PHP中要为类实例化对象使用如下中要为类实例化对象使用如下所示的代码样式:所示的代码样式:$obj_name=new classname;第9页,本讲稿共29页7.2.4 7.2.4 使用对象使用对象在为类实例化对象之后就可以使用对象,使用对象通过在为类实例化对象之后就可以使用对象,使用对象通过使用其属性与方法实现。在使用其属性与方法实现。在PHP中可以通过以下代码样式使中可以通过以下代码样式使用

9、对象:用对象:$obj_name=new classname;$obj_name-varname;$obj_name-functionname();第10页,本讲稿共29页7.2.5 7.2.5 稍微复杂的例子稍微复杂的例子上一小节为读者介绍了基本的类与对象的创建,本节来上一小节为读者介绍了基本的类与对象的创建,本节来介绍一个稍微复杂的例子。介绍一个稍微复杂的例子。1有返回值的方法有返回值的方法2有参数及返回值的方法有参数及返回值的方法第11页,本讲稿共29页7.2.5 7.2.5 稍微复杂的例子稍微复杂的例子第12页,本讲稿共29页7.2.6 7.2.6 类的继承类的继承这一小节来介绍类的继

10、承,继承是一种由已有的类创这一小节来介绍类的继承,继承是一种由已有的类创建新类的机制。利用继承,用户可以先创建一个共有属性建新类的机制。利用继承,用户可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类。新的一般类,根据该一般类再创建具有特殊属性的新类。新类继承一般类的状态和行为,并根据需要增加它自己的新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类,被继承的类的状态和行为。由继承而得到的类称为子类,被继承的类称为父类。在称为父类。在PHP中使用关键字:中使用关键字:extends关键字来创建继关键字来创建继承父类的子类,其语法格式如以

11、下代码所示:承父类的子类,其语法格式如以下代码所示:第13页,本讲稿共29页7.2.6 7.2.6 类的继承类的继承第14页,本讲稿共29页7.2.7 7.2.7 方法重载方法重载上一小节介绍了类的继承,在使用类的继承时,有可能上一小节介绍了类的继承,在使用类的继承时,有可能会出现子类中出现与父类中同名的属性或者方法的情况。在会出现子类中出现与父类中同名的属性或者方法的情况。在子类中可以定义与父类相同属性或方法,改变父类该属性或子类中可以定义与父类相同属性或方法,改变父类该属性或方法的值或操作,就叫做重载。方法的值或操作,就叫做重载。注意:注意:PHP不支持同一类中方法的重载。不管参数类型不支

12、持同一类中方法的重载。不管参数类型是否相同,同一类中不允许出现同名的方法。是否相同,同一类中不允许出现同名的方法。在在PHP子类中调用父类方法共有子类中调用父类方法共有3种方法,其语法格式种方法,其语法格式分别为:分别为:$this-ParentFunction()Parentclassname:ParentFunction()parent:parentFun();第15页,本讲稿共29页7.2.7 7.2.7 方法重载方法重载第16页,本讲稿共29页7.2.8 7.2.8 类的引用类的引用类的引用就是指在一个类中使用另一个类中定义的属性类的引用就是指在一个类中使用另一个类中定义的属性与方法。

13、与方法。PHP支持类的引用,要在一个类中引用另一个类的支持类的引用,要在一个类中引用另一个类的内容,可以通过如下代码格式来实现:内容,可以通过如下代码格式来实现:class classnamevar$varname;function functionname()statement;class otherclassclassname:functionname();classname:$varname;第17页,本讲稿共29页7.2.8 7.2.8 类的引用类的引用第18页,本讲稿共29页7.2.9 7.2.9 类的构造方法类的构造方法类的构造函数是在为类实例化一个对象时会执行的一个类的构造函数是

14、在为类实例化一个对象时会执行的一个方法。在方法。在PHP中使用特殊的函数:中使用特殊的函数:_construct()来表示类的来表示类的构造方法(双下划线加构造方法(双下划线加construct加一对括号来表示)。构造加一对括号来表示)。构造方法一般用于初始化类的一些重要属性。其语法格式如以下方法一般用于初始化类的一些重要属性。其语法格式如以下代码所示:代码所示:class classnamevar$var;function _construct($var)第19页,本讲稿共29页7.2.9 7.2.9 类的构造方法类的构造方法第20页,本讲稿共29页7.3 7.3 使用类与对象使用类与对象上

15、一节为读者介绍了对象变量及其相关的知识,这一节上一节为读者介绍了对象变量及其相关的知识,这一节来介绍在来介绍在PHP中常用的对类与对象进行操作的内容。中常用的对类与对象进行操作的内容。PHP的的系统函数专门提供了一类对类与对象进行操作的函数,通过系统函数专门提供了一类对类与对象进行操作的函数,通过这些函数可以对类与对象进行各种需要的操作,本节将逐一这些函数可以对类与对象进行各种需要的操作,本节将逐一作介绍。作介绍。第21页,本讲稿共29页7.3.1 7.3.1 检查类是否定义检查类是否定义在实例化对象时指定的类如果是一个不存在的类则会提示在实例化对象时指定的类如果是一个不存在的类则会提示错误。

16、所以在使用一个类之前需要事先了解类是否存在。错误。所以在使用一个类之前需要事先了解类是否存在。PHP系统函数中就有函数系统函数中就有函数class_exists(),该函数的语法格式如以下代,该函数的语法格式如以下代码所示:码所示:bool class_exists(string$class_name,bool$autoload)第22页,本讲稿共29页7.3.2 7.3.2 返回类的方法名返回类的方法名使用使用PHP系统函数中的系统函数中的get_class_methods()函数,可以函数,可以将类的方法以数组的形式返回。该函数的语法格式如以下代将类的方法以数组的形式返回。该函数的语法格式

17、如以下代码所示:码所示:array get_class_methods(string$class_name)第23页,本讲稿共29页7.3.3 7.3.3 返回类的属性返回类的属性7.3.2小节介绍的内容是返回类的方法名,除此之外小节介绍的内容是返回类的方法名,除此之外PHP还可以使用系统函数返回类中属性的名称。使用函数还可以使用系统函数返回类中属性的名称。使用函数get_class_vars()即可返回由类的默认属性组成的数组,该代码的语法格式即可返回由类的默认属性组成的数组,该代码的语法格式如下所示。如下所示。array get_class_vars(string$class_name)第

18、24页,本讲稿共29页7.3.4 7.3.4 返回对象的类名返回对象的类名使用使用PHP中的系统函数中的系统函数get_class()可以返回指定对象所可以返回指定对象所属的类的名称。该函数的语法格式如以下代码所示:属的类的名称。该函数的语法格式如以下代码所示:string get_class(object$obj)第25页,本讲稿共29页7.3.5 7.3.5 检查类与对象的关系检查类与对象的关系PHP提供了用于检查类与对象关系的关键字:提供了用于检查类与对象关系的关键字:instanceof,使用该操作符可以判断某一对象是否是类的子,使用该操作符可以判断某一对象是否是类的子类。该操作符的语

19、法格式如以下代码所示:类。该操作符的语法格式如以下代码所示:$object instanceof$class_name第26页,本讲稿共29页7.3.6 7.3.6 检查方法是否存在检查方法是否存在当执行对象的方法时,预先了解对象所属的类中是否存当执行对象的方法时,预先了解对象所属的类中是否存在某个方法有时是很有必要的,而在某个方法有时是很有必要的,而PHP系统函数中提供了用系统函数中提供了用于检测类中指定方法是否存在的函数。使用于检测类中指定方法是否存在的函数。使用method_exists()函数可以检查方法是否存在,该函数的语法格式如下所示:函数可以检查方法是否存在,该函数的语法格式如下

20、所示:bool method_exists(object$object,string$method_name)第27页,本讲稿共29页7.3.7 7.3.7 检查属性是否存在检查属性是否存在7.3.6小节介绍了检查属性是否存在的方法,小节介绍了检查属性是否存在的方法,PHP系统函系统函数中同样提供了用于检测类中指定属性是否存在的函数。使数中同样提供了用于检测类中指定属性是否存在的函数。使用用property_exists()函数可以检查属性是否存在,该函数的语函数可以检查属性是否存在,该函数的语法格式如下所示:法格式如下所示:bool property_exists(mixed$class,s

21、tring$property)第28页,本讲稿共29页7.4 7.4 本章小结本章小结本章为读者介绍了本章为读者介绍了PHP中对象变量以及其面向对象的的中对象变量以及其面向对象的的编程方法,并详细了解了对象变量的各种用法和编程方法,并详细了解了对象变量的各种用法和PHP系统函系统函数中用于操作类与对象的常用功能。在学习本章内容时重点数中用于操作类与对象的常用功能。在学习本章内容时重点要深刻理解类与对象的实质,要多使用对象的思想来解决所要深刻理解类与对象的实质,要多使用对象的思想来解决所面对的问题。下一章将为读者介绍面对的问题。下一章将为读者介绍PHP中如何对各种数据进中如何对各种数据进行处理暨行处理暨PHP中的数据处理函数的使用。中的数据处理函数的使用。第29页,本讲稿共29页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁