文档详情

第10章-面向对象编程.pptx

发布:2024-09-17约6.2千字共39页下载文档
文本预览下载声明

面向对象编程第十章

目录01面向对象的基本概念02类的声明03类的实例化06常见的关键字和魔术方法04面向对象的封装性05面向对象的继承性07抽象类和接口

01面向对象的基本概念类在面向对象的编程语言中,类是一个独立的程序单位,是具有相同属性和方法的一组对象的集合。简单来说,类表示一个客观世界的某类群体。例如,创建一个猫(Cat)类,包括4个属性:猫龄、猫名、颜色和品种;包括3个方法:跑、叫和捉老鼠。

01面向对象的基本概念对象类就是我们现实世界将事物分类一样,在程序设计中也需要将一些相关的变量定义和函数的声明归类,形成一个自定义的类型。通过这个类型可以创建多个实体,一个实体就是一个对象,每个对象都具有该类中定义的内容特征。

01面向对象的基本概念面向对象的特点面向对象由3个重要的特点:封装性、继承性和多态性。下面将对这3个特征进行详细的介绍。1.封装性封装是面向对象的核心思想,封装性其实就是将一个类的使用和实现分开,不需要让外界知道具体实现的细节,只保留有限的接口(方法)与外界联系。对于开发人员来说,只需要知道这个类如何使用,而不用关心这个类是如何实现的。

01面向对象的基本概念2.继承性继承性主要描述的是类与类之间的关系,指派生类(子类)自动继承一个或多个基类(父类)中的属性和方法,并可以重写或添加新的属性和方法。继承不仅增强了代码的重用性,提高了程序开发效率,而且为程序的修改补充提供了便利。3.多态性多态性是指同一方法作用于不同的对象,会产生不同的执行结果。多态性增强了软件的灵活性和重用性。

02类的声明定义类在PHP中,类是由class关键字、类名和成员组成的。类的成员包括属性和方法,属性用于描述对象的特征,方法用于描述对象的行为。类的语法如下所示:权限修饰符class类名{//成员属性//成员方法}

02类的声明权限修饰符是可选项,可以使用public、protected、private或者省略。class是创建类的关键字。类名的定义与函数的命名规则类似,如果由多个单词组成,习惯上每个单词的首字母要大写,并且类名要有一定的意义,见其名知其意。

02类的声明成员属性在类中直接声明的变量成为成员属性(也可以成为成员变量),可以在类中声明多个变量,即对象由多个成员属性,每个变量都存储对象不同的属性信息。成员属性可以使用PHP中的标量类型和复合类型,但是使用资源和空类型并没有意义。

02类的声明成员方法在类中直接声明的函数成为成员方法,可以在类中声明多个函数,对象中就有多个成员方法。成员方法的声明和函数的声明完全相同,但是成员方法可以加一些关键字的修饰来限制成员方法的权限,如public、private、static等。但是声明成员方法必须和对象有关,不能是一些没有意义的操作。

03类的实例化对象的创建定义好类之后并不能直接使用,需要根据类创建具体的对象,也就是要实例化类。PHP中使用关键字new来创建对象,语法格式如下所示:$对象名=new类名([参数1,参数2,…]);其中,“$对象名”表示通过类所创建的一个对象的引用名称,用于访问对象中的成员;“new”表示要创建一个新的对象;类名表示新对象的类型;类名后面括号中的参数是可选的,指定类的构造方法用于初始化对象的值,如果类中没有定义构造方法,PHP会自动创建一个不带参数的默认构造方法。

03类的实例化访问类中的成员类中包括成员属性和成员方法,访问类中的成员包括访问成员属性和成员方法。在对类进行实例化后就可以通过“对象-成员”的方式来访问成员属性和成员方法,访问对象中的成员的语法格式如下所示:$变量名=new类名称([参数]); //类的实例化$变量名-成员属性=值; //为成员属性赋值$变量名-成员属性; //直接获取成员属性值$变量名-成员方法; //访问对象中指定的方法

03类的实例化特殊的对象引用“$this”类一旦被创建,在类中的每个成员方法里面都会存在一个特殊的对象引用“$this”,成员方法属于哪个类,$this引用就代表哪个类,专门用来完成类内部成员之间的访问。使用$this变量可以引用该类中的其他方法和属性,并使用“-”作为连接符,如下所示:$this-属性;$this-方法;注意:在使用$this引用类自身的方法时,直接加方法名并为方法指定参数即可。如果引用的是类的属性,一定注意不要加“$”。

03类的实例化构造方法和析构方法1.构造方法构造方法是对象创建完成后第一个被对象自动调用的方法,通常使用构造方法完成一些对象的初始化工作。每一个声明类中都有一个构造方法,它是一个特殊的成员方法,如果类中没有直接声明它,类中会默认生成一个没有参数列表并且内容为空的构造方法,如果类中声明了它,则类中默认的构造

显示全部
相似文档