版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容提要定义学生类——类和对象统计学生成绩——方法和属性站在巨人的肩膀上——继承实例
学生信息管理系统【任务分析】定义一个学生类Student,包含姓名name、性别gender、年龄age,还包含所学专业magor,所在系别dept,那么就没必要重新定义Student类,只要从已经定义的Person类中派生与继承过来就可以了。02【任务实现】首先定义一个Person类,包括name、gender、age属性,派生出Student类,增加major、dept属性,这样Student就具有name、gender、age、major、dept全部属性。【任务描述】编写一个类Person类,再定义一个Student类,Student类继承Person类。在派生的过程中增加major、dept属性。0103站在巨人的肩膀上——继承代码实现:classPerson:def__init__(self,name,gender,age):=nameself.gender=genderself.age=agedefshow(self):print(,self.gender,self.age)classStudent(Person):def__init__(self,name,gender,age,major,dept):Person.__init__(self,name,gender,age)self.major=majorself.dept=deptdefshow(self):Person.show(self)print(self.major,self.dept)s=Student('james','male',18,'english','math')s.show()站在巨人的肩膀上——继承继承性是面向对象程序设计的重要特征,Python提供了类的继承机制。这种继承机制为代码复用带来了方便,它可以通过扩展或修改一个已有的类来新建类,新类可以继承现有类的公有属性和方法,同时可以定义新的属性和方法。已经存在的类称为“基类”或“父类”,新建的类称为“子类”或“派生类”。单继承派生类定义格式:ClassSubClass(BaseClass):#类体定义部分单继承举例:单继承实例classParent(object):def__init__(self):self.parent='Iamtheparent.'print('parent')defbar(self,message):print('%sfromParent'%message)classChild(Parent):def__init__(self):super().__init__()print('child')defbar(self,message):super().bar(message)print('Childbarfuction')print(self.parent)#继承父类属性C=Child()C.bar('HelloWorld!')单继承多继承即一个类继承多个类,从而具有多个类的数据和特征。Python虽然支持多继承,但是Python支持的多继承是有限的,需要注意多继承中子类继承父类时不同父类的查找顺序。多继承派生类定义格式:class
SubClass(BaseClassl,BaseClass2,...):
#类体定义部分Python多继承要点具体如下:1.可以继承多个类。2.继承类分为经典类和新式类。3.当前类或者父类继承了Object类,那么该类便是新式类,否则便是经典类。4.经典类时,多继承会按照深度优先查找覆盖方法。5.新式类时,多继承会按照广度优先查找覆盖方法。6.子类中,super()可以调用父类的属性和方法。多继承举例:多继承实例classHuman:def__init__(self,sex):self.sex=sexdefp(self):print("这是Human的方法")classPerson:def__init__(self,name):=namedefp(self):print("这是Person的方法")defperson(self):print("这是person特有的方法")classStudent(Human,Person):def__init__(self,name,sex,age):#要想调用特定父类的构造方法可以使用父类名.__init__方式。Human.__init__(self,sex)Person.__init__(self,name)self.age=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 选矿集控工诚信知识考核试卷含答案
- 有色金属矿干燥工班组评比能力考核试卷含答案
- 数控车工成果知识考核试卷含答案
- 选矿供料工成果水平考核试卷含答案
- 乳品配料工安全知识竞赛考核试卷含答案
- 2026年家政保洁人员聘用协议
- 2026 九年级下册历史《工业革命》课件
- 〈鸿门宴〉讲义课件
- 合肥三模理综试题及答案
- 无人机数字化管控平台搭建方案
- 2026年北京市西城区初三一模英语试卷(含答案)
- 电力重大事故隐患判定标准2026版解读
- 2026届湖南省常德市芷兰实验校中考联考数学试题含解析
- 2026年38期入团考试题及答案
- 新企业的选址 优质课比赛一等奖
- 饲料厂如何进行质量控制
- GB/T 9163-2001关节轴承向心关节轴承
- GB/T 26163.1-2010信息与文献文件管理过程文件元数据第1部分:原则
- 习作:《我学会了-》课件
- 西藏自治区山南市各县区乡镇行政村村庄村名居民村民委员会明细
- 公司各部门工作流程图(通用)
评论
0/150
提交评论