




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象三大特性江苏电子职业学院Python物联网02继承面向对象继承概念所有属于同一个类的对象都具有相同的特性和操作继承这个概念在类拟于生物界中的遗传。后代具有先辈的特征和行为能力。在程序设计中继承是为代码复用和设计复用而设计的,是面向对象程序设计的重要特性之一。是指子类可以继承父类中已定义好的属性和方法(函数),而不需要重新定义,这样会大幅度减少开发工作量。在继承关系中,已有的、设计好的类称为父类或基类,新设计的类称为子类或派生类。classAnimal:passclassCat(Animal):#表示该类继承类Animalpass面向对象继承概念所有属于同一个类的对象都具有相同的特性和操作猫有:喵喵叫、吃、喝、拉、撒等行为;狗也有:汪汪叫、吃、喝、拉、撒等行为;如果我们要分别为猫和狗创建一个类,那么就需要为猫和狗分别实现他们所有的功能。为了提高效率,尽可能复用代码,我们可以把共同部分:吃、喝、拉、撒,抽象出来,定义一个猫和狗的父类。classCat(Animal):自动继续父类中的eat(),drink(),shit(),pee()方法,同时又有自己的cry()方法和属性name,breed。classAnimal:defeat(self):print("%s吃"%)defdrink(self):print("%s喝"%)defshit(self):print("%s拉"%)defpee(self):print("%s撒"%)classCat(Animal):def__init__(self,name):=nameself.breed="猫"defcry(self):print('喵喵叫')classDog(Animal):def__init__(self,name):=nameself.breed="狗"defcry(self):print("汪汪叫")面向对象继承原则所有属于同一个类的对象都具有相同的特性和操作派生类可以继承父类的公有成员,但是不能继承其私有成员。方法重写,子类中同名的方法会敷盖父类中同名的方法。这时如果需要在派生类中调用基类的方法,可以使用内置函数super()或者通过“基类名.方法名()”的方式来实现这一目的。面向对象重写所有属于同一个类的对象都具有相同的特性和操作子类Bar继承父类Foo,继承了方法f1和f2;b.f2()会在父类Foo中找到f2,先打印输出”父类中的方法f2”。接下来执行到self.f1(),即b.f1(),会按照:对象本身->类Bar->父类Foo的顺序依次查找。然后在子类中Bar中找到f1,输出“子类中的方法f1”classFoo:deff1(self):print("父类中的方法f1")deff2(self):print("父类中的方法f2")self.f1()classBar(Foo):#子类继承了方法f1,f2,同时又对f1进行了重写
deff1(self):print("子类中的方法f1")defdof(self):self.f1()super().f1()#调用父类中的方法b=Bar()b.f2()#调用继承来的方法f2b.dof()面向对象重写所有属于同一个类的对象都具有相同的特性和操作父类如果不想让子类继承或不想让子类覆盖自己的方法,可以采用双下划线开头的方式将方法设置为私有的。classFoo:def__f1(self):print("父类中的方法f1")deff2(self):print("父类中的方法f2")self.f1()classBar(Foo):#子类继承了方法f1,f2,同时又对f1进行了重写
def__f1(self):print("子类中的方法f1")b=Bar()b.f2()#调用继承来的方法f2未改写父类Foo中的方法__f1()面向对象多继承所有属于同一个类的对象都具有相同的特性和操作Python支持多继承如果父类中有相同的方法名,而在子类中使用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索。多继承使用要慎用super()。classFather:def__init__(self):self.sex="男"defhobby(self):print("业余爱好是打游戏!")defwork(self):#两个父类中方法重名print("能做体力活")classMother:def__init__(self):self.sex="女"defcook(self):print("喜欢烹饪!")defwork(self):#两个父类中方法重名print(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC TS 18661-5:2025 EN Programming languages,their environments,and system software interfaces - Floating-point extensions for C - Part 5: Supplementary attributes
- 川教版信息技术(2019)四年级下册《第二单元 多彩的游记 3 图文并茂》教学设计
- 2023八年级数学上册 第十三章 轴对称13.3 等腰三角形13.3.2 等边三角形第1课时 等边三角形的性质与判定教学实录(新版)新人教版
- 安全生产第一课
- 2025年微晶氧化铝陶瓷耐磨材料项目合作计划书
- 天津市宝坻区八年级地理上册 第二章 第四节 自然灾害教学实录 (新版)新人教版
- 2025年单抗导向药物项目发展计划
- ollama的语义向量模型
- 电脑屏幕字变窄最简单方法
- 电流互感器二次侧接地线烧坏的原因
- 2021医师定期考核题库(人文2000题)
- 靶向治疗患者的护理常规
- 二年级心理健康教育课:你的感受我知道
- 2024-2025学年人教版八年级下册地理第五章综合测试卷(含答案)
- 广医三院产房个案护理分享
- 《铁路轨道维护》课件-更换轨距杆作业
- 公司安全事故隐患内部举报、报告奖励制度
- 校园活动作文课件
- 管道施工安全管理培训课件
- 静脉治疗护理技术操作标准解读
- 摩托车和轻便摩托车车载诊断连接器 编制说明
评论
0/150
提交评论