7.1.2 数据成员的访问(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-10
| 16页
| 31人阅读
| 4人下载
普通

内容正文:

任务7.1 对象与类 电影对象的定义和使用 7.1 对象与类——电影对象的定义和使用 【任务描述】 优秀的影片 可以鼓舞人心,带给人积极向上的心态。小T酷爱看电影,他从某影评网站收集了几部评价较高、他也较感兴趣的国产电影信息(包括电影名、导演、主演等字段)。他打算一周之内把这几部电影看完,并在看完之后对每部影片进行评分。要求输出已看电影的评分、已看电影部数、已评电影的均分,并释放已看过的电影资源。 7.1 对象与类——电影对象的定义和使用 【任务分析】 我们可以构建电影类来完成本任务,思路如下: (1)定义电影类,在类中定义相应的变量、方法,实现存储电影信息,计算电影评分等功能。 (2)把每部电影作为对象进行创建,创建的电影就是本周需要看的电影。 (3)每看完一部,就对电影进行评分、计算均分、输出信息并释放资源。 7.1 对象与类——电影对象的定义和使用 什么是类? 怎么定义类和对象? 怎么定义和使用类的变量与方法? 7.1.1 类的定义和使用 7.1.2 数据成员的访问 7.1.3 成员方法的调用 7.1.4 任务实现——电影对象的定义和使用 7.1 对象与类——电影对象的定义和使用 7.1.2 数据成员的访问 7.1.2 数据成员的访问 什么是数据成员? 如何定义? 如何访问? 1.数据成员的类别 数据成员,指的是用于处理类及其对象的相关数据。 数据成员按作用对象分,可分为类变量和成员变量。 类变量是用于描述类的特征或属性,成员变量则是描述类对象的特征或属性。 7.1.2 数据成员的访问 数据成员还有私有数据成员和公有数据成员之分。 私有数据成员以两个下划线“__”开头,但是不以两个下划线结束 私有数据成员一般在类的内部进行访问和操作,或者通过调用类对象来访问 1.数据成员的类别 7.1.2 数据成员的访问 【例7-6】有不同类别数据成员的类定义。 class Student(): stdCount=0 # 类变量,创建学生对象个数 def __init__(self,no,name,age): # 构造方法 self.__no=no # 私有成员变量,学生学号 self.__name=name # 私有成员变量,学生名字 self.__age=age # 私有成员变量,学生年龄 self.score=0 # 设置了默认值的公有成员变量,本门课成绩 if Student.stdCount>50: # 控制创建学生人数不超过50,用Student类名访问类变量 print("已超过学生人数。") else: Student.stdCount+=1 7.1.2 数据成员的访问 def setScore(self,score): # 成员方法,设置本门课成绩 self.score=score def getInfo(self): # 成员方法,打印学生信息 print("%s同学的学号是%s,年龄是%d。"%(self.__name,self.__no,self.__age)) def __del__(self): print("%s对象的资源已释放。"%self.name) 7.1.2 数据成员的访问 【例7-6】有不同类别数据成员的类定义。 2.数据成员的访问 数据成员中的成员变量,在类中定义和使用时都以self为前缀,同一个类中不同对象的成员变量互相不受影响。 公有数据成员的访问,通过对象名访问,使用对象名与成员变量名用“.”连接 私有数据成员在类的外部访问,则需通过对象名、类名共同作用下才可以访问。 对象名. 成员变量名 对象名._类名__变量名 7.1.2 数据成员的访问 【例7-7】数据成员的访问。 # 类定义见【例7-6】 student1=Student('190404101','韩梅梅',18) student2=Student('190404102','李雷',19) print("已创建了%s个Student对象。"%(student2.stdCount)) # 用student2对象名访问类变量 print("他们分别是%s/%s。"%(student1._Student__name,student2._Student__name)) #用对象名、类名访问私有成员变量 print("他们目前的成绩是%d/%d。"%(student1.score,student2.score)) #用对象名访问公有成员变量 已创建了2个Student对象。 他们分别是韩梅梅/李雷。 他们目前的成绩是0/0。 7.1.2 数据成员的访问 3.数据成员值的设置和修改 设置数据成员默认值:数据成员的初始值,可以在类的定义中直接设定默认值。 self.score=0 stdCount=0 修改数据成员值:一是通过访问数据成员,修改其数据值;二是通过调用相关的方法修改数据成员的值。 7.1.2 数据成员的访问 # 类定义见【例7-6】 student3=Student('190404104','吴磊',18) student3.score=95 #访问数据成员score,修改其数据值 print("%s同学的学号是%s,年龄是%d岁,本门课成绩是%d分。"%(student1._Student__name,student1._Student__no, student1._Student__age,student3.score)) student3.setScore(92) #通过调用setScore方法修改score数据值 print("修改后本门课成绩是%d分。"%(student3.score)) 韩梅梅同学的学号是190404101,年龄是18岁,本门课成绩是95分。 修改后本门课成绩是92分。 7.1.2 数据成员的访问 【例7-8】修改数据成员值。 即学即答: Python中定义私有成员变量的方法是()。 A. 使用private关键字 B. 使用public关键字 C.使用__XX__定义 D.使用__XX定义 7.1.2 数据成员的访问 $$

资源预览图

7.1.2  数据成员的访问(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
7.1.2  数据成员的访问(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
7.1.2  数据成员的访问(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
7.1.2  数据成员的访问(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
7.1.2  数据成员的访问(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
7.1.2  数据成员的访问(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。