教学材料《PHP程序》_单元7 设计面向对象程序1.pptxVIP

  • 0
  • 0
  • 约2.28万字
  • 约 63页
  • 2026-02-05 发布于广东
  • 举报

教学材料《PHP程序》_单元7 设计面向对象程序1.pptx

单元概要单元要点? 对象和类? 创建类和对象? 构造函数和析构函数? 类的继承? 方法的覆盖? 抽象类和抽象方法? 接口? 类的多态技能目标? 会定义类和实例化对象? 会使用对象? 会使用抽象方法? 会用继承方法? 会使用接口、多态项目载体? 工作场景项目:图形面积周长计算? 并行训练项目:简单计算器

7.1项目场景导入项目名称:图形面积周长计算项目场景:使用面向对象的方法实现图形面积的计算,可以实现矩形、三角形、圆形的面积周长计算。

7.2项目问题引导(1)如何定义图形类?(2)如何使用多态和方法?(3)如何继承?(4)如何实例化矩形、圆形、三角形对象?(5)如何实现具体操作和类方法?

7.3技术与知识准备7.3.1PHP面向对象概述“面向对象”(0bjectOriented,OO)是软件开发过程中极具影响性的突破,越来越多程序设计语言强调其面向对象的特性,PHP也不例外。自PHP5开始,PHP就提供了面向对象的支持。面向对象的思想可以使程序更加符合人类看待事物的规律。面向对象编程的优点是对象可以在不同的应用程序中被重复使用,实现了软件工程的重用性、灵活性和可扩展性。7.3.2创建类与对象类和对象的关系简单地说,类是用于生成对象的代码模板,比如教师类,它包含教师的姓名、年龄、学历、职称等属性信息,还包括教师进行自我介绍以及如何授课等行为。PHP中使用关键字class和一个类名来声明一个类。类名可以是任意数字和字母的组合,但是不能以数字开头,一般使用首字符大写,而后每个单词首字符大写的方式,这样会方便阅读。

7.3技术与知识准备?php 修饰符class类名{类的属性;类的行为;}?? 权限修饰符是可选项,可以使用public、protected、private或省略这3者。? class是创建类的关键字。? 类名是所要创建类的名称,必须写在class关键字之后,在类的名称后面必须跟上一对大括号。下面我们定义一个教师类。?php classTeacher{ //类体}?

7.3技术与知识准备这样就创建了一个合法的Teacher类,虽然没有任何用处,但是已经完成了一些非常重要的事情。然后就可以把教师类当作生成各位教师对象的模板,创建各位教师。现实情况有很多教师,不同的教师对象是类的不同“示例”,它是由类定义的数据类型。可以使用Teacher类生成Teacher对象:?phpclassTeacher{//类体}$teacher=newTeacher();?这样就通过使用new这个关键字创建了一个Teacher的对象。

7.3技术与知识准备类的属性类的属性指在class中声明的变量,也被称为成员变量,例如前面提到的教师有姓名、年龄、学历、职称等信息,都可以定义为Teacher的属性。在PHP5中,类中的属性与普通变量很相似,可以使用public、private、protected、var之一进行修饰,或者不使用任何修饰符,他们决定变量的访问权限。以上关键字是PHP5中引入的,在PHP4下运行将无法正常工作。? public(公开):可以自由地在类的内部和外部读取、修改,也就是由public所定义的类成员可以在任何地方被访问。? private(私有):只能在这个当前类访问和修改,不能在类外访问。? protected(受保护):能够在本类和该类的子类中读取和修改。? var以这个关键字定义的成员能够被任何程序代码访问(public的别名)。

7.3技术与知识准备在类中定义的变量称为类的成员变量,在方法中定义的变量称为局部变量。不同位置定义的变量有什么不同呢?这里分三个方面进行区别:成员变量:? 成员变量定义在类中,在整个类中都可以被访问。? 成员变量随着对象的建立而建立,随着对象的消失而消失。? 成员变量有默认初始化值。局部变量:? 局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。? 局部变量作用范围结束,变量空间会自动释放。? 局部变量没有默认初始化值。在使用变量时需要遵循的原则为:就近原则,即首先在局部范围找,有就使用;接着在成员位置找。属性的使用:通过使用“-”符号连接对象和属性名来访问属性变量。在方法内部通过“$this-”访问同一对象的属性。当然,我们可以在属性定义时设置初始值,也可以不设置初始值。

7.3技术与知识准备例如前面提到的教师有姓名、年龄、学历、职称等属性,都可以定义为Teacher的成员变量如下。【示例1】定义类?php classTeacher{ public$name; private$age; protected$title; var$school; }?并且

文档评论(0)

1亿VIP精品文档

相关文档