- 2
- 0
- 约6.33千字
- 约 29页
- 2024-05-25 发布于广东
- 举报
Python程序设计第9章Python面向对象程序设计
【教学目标】学习内容?理解Python的面向对象?类和对象?继承?多态技能目标?会定义类的方法?会创建对象的方法?能在类中定义变量和方法?会继承的方法?会实现多态的方法
任务一编写“过家家”游戏程序生活是一个大舞台,我们每个人都有自己的角色位置,认清自己的角色,积极适应新环境。本次的任务是使用Python编写“过家家”游戏程序,模似一个普通家庭里各人物角色日常生活。其中,使用类来实现一些日常生活的场景,以某一个家庭的日常生活为例,这个家庭中有三个成员:父亲、母亲和儿子,三者组成一个家庭,每个人有自己的姓名、年龄及个人小秘密,通过print()函数来实现家庭信息的输出。
【提示】一个家庭里有三个成员,每个成员有自己的一些特性但又隶属于这个家庭。从编程的角度来看,家庭可以定义为一个父类,父类的属性是家庭每个成员共有的特性,而每个成员为一个子类,子类具有父类的属性之外,还有一些自己特有的属性。
9.1理解Python的面向对象9.1.1面向对象的基本概念面向对象的基本概念如下。类和对象:描述对象属性和方法的集合称为类,它定义了同一类对象所共有的属性和方法。对象是类的实例,也称实例对象。方法:类中定义的函数,用于描述对象的行为,也称方法成员。属性:类中所有方法之外定义的变量,用于描述对象的特点,也称数据成员。封装:类具有封装特性,其内部实现不被外界知晓,只需要提供必要的接口供外部访问即可。实例化:创建一个类的实例对象。继承:从一个基类(也称父类或超类)派生出一个子类时,子类拥有基类的属性和方法,称为继承。子类也可以定义自己的属性和方法。重写:在子类中定义与父类方法同名的方法,称为子类对父类方法的重写,也称方法覆盖。多态:指不同类型对象的相同行为产生不同的结果。Python具有类、对象实例、继承、重载、多态等面向对象特点。
9.1理解Python的面向对象9.1.2面向对象的编程思想在之前的章节中,解决问题的方式是先分析解决这个问题需要的步骤,然后用流程控制语句、函数把这些步骤一步一步地实现出来。这种编程思想被称为面向过程编程。面向过程编程符合人们的思考习惯,容易理解。最初的程序也都是使用面向过程的编程思想开发的。随着程序规模的不断扩大,人们不断提出新的需求。面向过程编程可扩展性低的问题逐渐凸显出来,于是提出了面向对象的编程思想。面向对象的编程不再根据解决问题的步骤来设计程序,而是先分析谁参与了问题的解决。这些参与者就被称为对象,对象之间相互独立,但又相互配合、连接和协调,从而共同完成整个程序要实现的任务和功能。面向对象程序设计的一般步骤包括:? 分析实际问题,分辨并抽取其中的类和对象。? 设计相应的类,并根据这些类创建各种对象。? 协调这些对象完成程序功能(消息)。
9.2类和对象9.2.1使用类创建实例对象Python定义一个类使用关键字class声明,类的声明格式如下。classClassName():类体 #定义类的属性和方法class关键字后面的ClassName是类名,类的命名方法通常使用单词首字母大写的驼峰命名法。类名后面的()表示类的继承关系,可以不填写,表示默认继承object类,后面的内容中会详细介绍什么是继承,括号后面接“:”号表示换行,并在新的一行缩进定义类的属性或方法,称为类体。当然,也可以定义一个没有属性和方法的类,用pass关键字。对象是对某个具体客观事物的抽象,类是对对象的抽象描述,在计算机语言中是一种抽象的数据类型。类定义了数据类型的数据(属性)和行为(方法),类与对象的关系是:对象是类的实例,类是对象的模板。
实例一【例9-1】创建一个银行员工的类,这个类不包含任何属性或方法。代码以下所示。classBankEmployee():pass
实例二【例9-2】在例9-1的基础上,创建两个银行员工实例对象employee_a和employee_b,然后在输出这两个实例对象的类型。实现思路:使用BankEmployee类创建实例对象;再使用type()方法查看变量的类型。classBankEmployee():passemployee_a=BankEmployee()employee_b=BankEmployee()print(type(employee_a))print(type(employee_b))程序输出结果:class__main__.BankEmployeeclass__main__.BankEmployee
9.2类和对象9.2.2给类添加方法完成
您可能关注的文档
- 《Python程序设计》课件第6章__面向对象程序设计_1.pptx
- 《Linux服务器配置与管理》课件项目9 邮件服务器配置与管理.pptx
- 《Python程序设计》课件第2章__数据结构_2.ppt
- 《Linux服务器配置与管理》课件项目4 Samba服务器配置与管理.pptx
- 《Linux服务器配置与管理》课件项目3 Telnet与SSH服务器配置与管理.pptx
- 《Linux服务器配置与管理》课件项目8 FTP服务器配置与管理.pptx
- 《Linux服务器配置与管理》课件项目10 防火墙配置与管理.pptx
- 《Linux服务器配置与管理》课件项目7 DNS服务器的配置与管理.pptx
- 《Python程序设计》课件第4章__Unicode与字符串_2.pptx
- 《Python程序设计》课件第4章__Unicode与字符串_1.ppt
- 《GB/T 21561.1-2025轨道交通 机车车辆 受电弓特性和试验 第1部分:机车车辆受电弓》.pdf
- 《GB/T 6346.2301-2025电子设备用固定电容器 第23-1部分:空白详细规范表面安装金属化聚萘二甲酸乙二醇酯膜介质直流固定电容器 评定水平EZ》.pdf
- 2026年中国城市建设史复习题200道含答案(基础题).docx
- 2026年注册会计师(CPA)考试题库200道及1套参考答案.docx
- 60103交通事故案卷文书 标准 ga 40-2018.pdf.pdf
- 小升初衔接第一讲:基础词汇与句型综合梳理与运用(基于Starters 14).docx
- 四级公路设计关键要素教学课件.pptx
- Unit7SectionA2a-2e课件鲁教版英语六年级下册.pptx
- 初中地理八年级:探秘台湾省环境与经济协同发展.docx
- Unit2Success单元重点单词单句写作练习课件-北师大版高中英语选择性(1).pptx
原创力文档

文档评论(0)