第10章-面向对象编程.pptx
《第10章-面向对象编程.pptx》由会员分享,可在线阅读,更多相关《第10章-面向对象编程.pptx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象编程第十章目录01 面向对象的基本概念02 类的声明03 类的实例化06 常见的关键字和魔术方法04 面向对象的封装性05 面向对象的继承性07 抽象类和接口01 面向对象的基本概念类在面向对象的编程语言中,类是一个独立的程序单位,是具有相同属性和方法的一组对象的集合。简单来说,类表示一个客观世界的某类群体。例如,创建一个猫(Cat)类,包括4个属性:猫龄、猫名、颜色和品种;包括3个方法:跑、叫和捉老鼠。01 面向对象的基本概念对象类就是我们现实世界将事物分类一样,在程序设计中也需要将一些相关的变量定义和函数的声明归类,形成一个自定义的类型。通过这个类型可以创建多个实体,一个实体就是一
2、个对象,每个对象都具有该类中定义的内容特征。01 面向对象的基本概念面向对象的特点面向对象由3个重要的特点:封装性、继承性和多态性。下面将对这3个特征进行详细的介绍。1.封装性封装是面向对象的核心思想,封装性其实就是将一个类的使用和实现分开,不需要让外界知道具体实现的细节,只保留有限的接口(方法)与外界联系。对于开发人员来说,只需要知道这个类如何使用,而不用关心这个类是如何实现的。01 面向对象的基本概念2.继承性继承性主要描述的是类与类之间的关系,指派生类(子类)自动继承一个或多个基类(父类)中的属性和方法,并可以重写或添加新的属性和方法。继承不仅增强了代码的重用性,提高了程序开发效率,而且
3、为程序的修改补充提供了便利。3.多态性多态性是指同一方法作用于不同的对象,会产生不同的执行结果。多态性增强了软件的灵活性和重用性。02 类的声明定义类在PHP中,类是由class关键字、类名和成员组成的。类的成员包括属性和方法,属性用于描述对象的特征,方法用于描述对象的行为。类的语法如下所示:权限修饰符class 类名/成员属性/成员方法02 类的声明权限修饰符是可选项,可以使用public、protected、private或者省略。class 是创建类的关键字。类名的定义与函数的命名规则类似,如果由多个单词组成,习惯上每个单词的首字母要大写,并且类名要有一定的意义,见其名知其意。02 类的
4、声明成员属性在类中直接声明的变量成为成员属性(也可以成为成员变量),可以在类中声明多个变量,即对象由多个成员属性,每个变量都存储对象不同的属性信息。成员属性可以使用PHP中的标量类型和复合类型,但是使用资源和空类型并没有意义。02 类的声明成员方法在类中直接声明的函数成为成员方法,可以在类中声明多个函数,对象中就有多个成员方法。成员方法的声明和函数的声明完全相同,但是成员方法可以加一些关键字的修饰来限制成员方法的权限,如public、private、static等。但是声明成员方法必须和对象有关,不能是一些没有意义的操作。03 类的实例化对象的创建定义好类之后并不能直接使用,需要根据类创建具体
5、的对象,也就是要实例化类。PHP中使用关键字new来创建对象,语法格式如下所示:$对象名=new 类名(参数1,参数2,);其中,“$对象名”表示通过类所创建的一个对象的引用名称,用于访问对象中的成员;“new”表示要创建一个新的对象;类名表示新对象的类型;类名后面括号中的参数是可选的,指定类的构造方法用于初始化对象的值,如果类中没有定义构造方法,PHP会自动创建一个不带参数的默认构造方法。03 类的实例化访问类中的成员类中包括成员属性和成员方法,访问类中的成员包括访问成员属性和成员方法。在对类进行实例化后就可以通过“对象-成员”的方式来访问成员属性和成员方法,访问对象中的成员的语法格式如下所
6、示:$变量名=new 类名称(参数);/类的实例化$变量名-成员属性=值;/为成员属性赋值$变量名-成员属性;/直接获取成员属性值$变量名-成员方法;/访问对象中指定的方法03 类的实例化特殊的对象引用“$this”类一旦被创建,在类中的每个成员方法里面都会存在一个特殊的对象引用“$this”,成员方法属于哪个类,$this引用就代表哪个类,专门用来完成类内部成员之间的访问。使用$this变量可以引用该类中的其他方法和属性,并使用“-”作为连接符,如下所示:$this-属性;$this-方法;注意:在使用$this引用类自身的方法时,直接加方法名并为方法指定参数即可。如果引用的是类的属性,一定
7、注意不要加“$”。03 类的实例化构造方法和析构方法1构造方法构造方法是对象创建完成后第一个被对象自动调用的方法,通常使用构造方法完成一些对象的初始化工作。每一个声明类中都有一个构造方法,它是一个特殊的成员方法,如果类中没有直接声明它,类中会默认生成一个没有参数列表并且内容为空的构造方法,如果类中声明了它,则类中默认的构造方法将不会存在。03 类的实例化在PHP中,声明构造方法的方法与声明其他成员方法类似,不同的地方在于构造方法的方法名必须是以两个下划线开始的“_construct”,这是PHP5版本之后的变化。其语法格式如下所示:访问控制修饰符 function _construct(参数列
8、表)/初始化操作其中,访问控制修饰符可以省略,默认为public。并且同一个类中只能声明一个构造方法。03 类的实例化2.析构方法与构造方法相对应,析构方法是对象在销毁之前最后一个被对象自动调用的方法,通常使用析构方法完成一些对象在销毁前的清理工作。例如,关闭文件、释放结果等。析构方法与构造方法的声明方式相似,在类中声明的析构方法名称也是固定的,用以两个下划线开头的方法名“_destruct”来声明,而且析构方法不能带有任何参数。其语法格式如下所示:Function _destruct()/方法体,通常用来完成一些在对象销毁之前的清理工作03 类的实例化注意:析构方法并不是很常用,它属于类中可
9、选的一部分,只有需要时才在类中声明。析构方法一般情况下不需要手动调用。在使用unset()函数释放对象,或者PHP脚本执行结束自动释放对象时,析构方法将会被自动调用。03 类的实例化匿名类在PHP7版本开始,面向对象编程中支持匿名类的实现,PHP7中通过new class来实例化一个匿名类。所谓匿名类,是指没有名称的类,只能在创建时用new语句来声明,可以创建一次性的简单对象。04 面向对象的封装性封装性是面向对象编程的特点之一,就是将类中成员属性和成员方法结合成一个独立的相同单位,并尽可能的隐藏对象的内容细节。封装性可以防止类的成员被外界随意访问,导致设置或修改不合理的情况发生,使类的设置更
10、加的安全可靠。04 面向对象的封装性在PHP中。类的封装是通过访问控制修饰符public、private、protected来实现的。其具体的作用范围如表所示。在上表中,“”表示允许访问,“”表示不予许访问。如果类的成员没有指定访问控制修饰符,默认为public。范范围 类型型同一个同一个类内内子子类类外外publicprotectedprivate05 面向对象的继承性面向对象另外一个重要的特征是继承性,它是指建立一个新的派生类,继承另一个已经存在的类的成员属性和成员方法,其中被继承的类称为基类或父类,继承的类称为派生类或子类。05 面向对象的继承性继承关键字extends类的继承是类与类之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 面向 对象 编程
限制150内