第11章 面向对象(下)-【千锋教育】Python快乐编程基础入门同步教案

2023-03-23
| 7页
| 143人阅读
| 1人下载
教辅

内容正文:

课程名称 第11章 面向对象(下) 计划学时 4学时 内容分析 本章主要介绍面向对象的三大特征、封装、继承、多态、设计模式、小案例 教学目标 与 教学要求 要求学生理解面向对象的三大特征、掌握继承、掌握多态、了解设计模式 教学重点 封装、继承、多态、设计模式 教学难点 封装、继承、多态、设计模式 教学方式 课堂讲解及ppt演示 教 学 过 程 第一课时 (面向对象的三大特征、封装、继承) 面向对象的三大特征 面向对象程序设计实际上就是对现实世界的对象进行建模操作。面向对象程序设计的特征主要可以概括为封装、继承和多态,接下来针对这三种特性进行简单介绍。 1.封装 封装是面向对象程序设计的核心思想。它是指将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,计算机的主机是由内存条、硬盘、风扇等部件组成,生产厂家把这些部件用一个外壳封装起来组成主机,用户在使用该主机时,无须关心其内部的组成及工作原理,如图11.1所示。 图11.1 主机及组成部件 2.继承 继承是面向对象程序设计提高重用性的重要措施。它体现了特殊类与一般类之间的关系,当特殊类包含了一般类的所有属性和行为,并且特殊类还可以有自己的属性和行为时,称作特殊类继承了一般类。一般类又称为父类或基类,特殊类又称为子类或派生类。例如,已经描述了汽车模型这个类的属性和行为,如果需要描述一个小轿车类,只需让小轿车类继承汽车模型类,然后再描述小轿车类特有的属性和行为,而不必再重复描述一些在汽车模型类中已有的属性和行为,如图11.2所示。 图11.2 汽车模型与小轿车 3.多态 多态是面向对象程序设计的重要特征。生活中也常存在多态,例如,学校的下课铃声响了,这时有学生去买零食、有学生去打球、有学生在聊天。不同的人对同一事件产生了不同的行为,这就是多态在日常生活中的表现。程序中的多态是指一种行为对应着多种不同的实现。例如,在一般类中说明了一种求几何图形面积的行为,这种行为不具有具体含义,因为它并没有确定具体几何图形,又定义一些特殊类,如三角形、正方形、梯形等,它们都继承自一般类。在不同的特殊类中都继承了一般类的求面积的行为,可以根据具体的不同几何图形使用求面积公式,重新定义求面积行为的不同实现,使之分别实现求三角形、正方形、梯形等面积的功能,如图11.3所示。 图11.3 一般类与特殊类 在实际编写应用程序时,开发者需要根据具体应用设计对应的类与对象,然后在此基础上综合考虑封装、继承与多态,这样编写出的程序更健壮、更易扩展。 封装 类的封装可以隐藏类的实现细节,迫使用户只能通过方法去访问数据,这样就可以增强程序的安全性。 在定义类时,可以将属性定义为私有属性,这样外界就不能随意修改。Python中通过在属性名前加两个下画线来表明私有属性。 当属性设置为私有属性后,经常需要提供设置或获取属性值的两个方法供外界使用。 此外,私有属性在类外不能直接访问,但程序在测试或调试环境中,可以通过“对象名._类名”的方式在类外访问。 继承 在自然界中,继承这个概念非常普遍,例如:熊猫宝宝继承了熊猫爸爸和熊猫妈妈的特性,它有着圆圆的脸颊、大大的黑眼圈、胖嘟嘟的身体,人们不会把它错认为是狒狒。在程序设计中,继承是面向对象的另一大特征,它用于描述类的所属关系,多个类通过继承形成一个关系体系。 · 单一继承 单一继承是指生成的派生类只有一个基类,如学生与教师都继承自人,如图11.4所示。 图11.4 单一继承 单一继承由于只有一个基类,继承关系比较简单,操作比较容易,因此使用相对较多,其语法格式如下: class 基类名(object): # 等价于class 基类名: 类体 class 派生类名(基类名): 类体 上述代码表示派生类继承自基类,派生类可以使用基类的所有公有成员,也可以定义新的属性和方法,从而完成对基类的扩展。注意Python中所有的类都继承自object类,第10章中出现的类省略了object。 如果派生类的构造函数中需要添加参数,则可以在派生类的构造方法中调用基类的构造方法。 如果派生类定义的属性和方法与基类的属性和方法同名,则派生类实例对象调用派生类中定义的属性和方法 另外,需特别注意,基类的私有属性和方法是不会被派生类继承的。因此,派生类不能访问基类的私有成员。 · 多重继承 在现实生活中,在职研究生既是一名学生,又是一名职员。在职研究生同时具有学生和职员的特征,这种关系应用在面向对象程序设计上就是用多重继承来实现的,如图11.5所示。 图11.5 多重继承 多重继承指派生类可以同时继承多个基类,其语法格式如下: class 基类1(object): 类体 class 基类2(object):

资源预览图

第11章 面向对象(下)-【千锋教育】Python快乐编程基础入门同步教案
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。