课件0706类的继承_第1页
课件0706类的继承_第2页
课件0706类的继承_第3页
课件0706类的继承_第4页
课件0706类的继承_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

继承制作:教材编写团队出版社:机械工业出版社《Python编程基础与应用》配套课件本课件为《Python编程基础与应用(第2版)》配套教学资源,由编写团队精心打造。为便于教学使用,团队同步提供了丰富的辅助材料,涵盖微课视频、教学课件、实训手册、习题答案、课程标准及程序源代码等。同时,教材配套超星教学示范包,支持一键克隆为网络在线课程,助力高效开展线上线下混合式教学。欢迎联系出版方订购使用。

书名:《Python编程基础与应用(第2版)》出版社:机械工业出版社主编:蓝永健、陈冬冬副主编:蔡德琛、朱海鑫、邓爱玲+contents目录继承概念单继承多继承继承概念01Python继承是面向对象中三大特征之一,继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的属性和行为。Python继承是把已存在的类的定义作为基础建立新的类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使复用以前的代码变得非常容易,能大大缩短开发的周期。例如之前定义的Car类(汽车类)包含了名字、重量、颜色等。由这个汽车类可以派生出小轿车和货车这两个类,我们为小轿车添加后备箱,为货车添加货箱。

继承概念生活中,我们也有很多继承的例子。如牛、羊属于食草动物类,狮子、狼属于肉食动物类,而它们都属于动物类。可以理解,动物类是父类,食草动物类和肉食动物类是子类,它们都是从动物类继承过来的。虽然食草类和肉食类都是动物类,但两者的属性和行为是有差别的,父类更通用,子类更具体,所以子类具有父类的一般性,但也有自身的特殊性。继承可以分为单继承和多继承两种。

继承概念单继承02单继承在Python中,如果父类只有一个时,这种继承叫单继承。子类定义的语法格式如下:子类能继承父类的所有公共属性和公共方法,但不能继承其私有属性和私有方法。class子类名(父类名):

类体

范例7-8:货车类与单继承的使用classCar:#父类Cardef__init__(self,sname,sweight,scolour):#构造方法=snameself.weight=sweightself.colour=scolourdefrun(self):print(str(self.weight)+"顿重的"+str(self.colour)+str()+"的汽车在行驶中。")classTruck(Car):#子类Truck(货车类)

继承了父类Car的公共方法和公共属性defloadweight(self,sloadweight):#定义方法,定义载重量self.loadweight=sloadweightdefloadweightinfo(self):#定义方法输出语句print('我是货车,可以载重%s顿'%(self.loadweight))volvo=Truck("沃尔沃",4,"黄色")#创建货车对象volvo.loadweight(20)#调用子类方法volvo.run()#调用父类方法volvo.loadweightinfo()#调用子类方法

范例7-6:货车类与单继承的使用范例中定义了一个父类Car,该类中的构造方法,需要传递3个参数。然后定义了一个子类Truck类,用于定义货车类。子类继承了父类的公共属性和公共方法。子类定义了loadweight方法用于定义载重量和loadweightinfo方法用于输出信息内容。从运行结果可以看出,可以通过子类创建对象volvo,并调用父类的公共方法。可以说完全继承了父类的公共属性和公共方法。多继承03

多继承多继承指的是一个子类从多个父类继承而来,继承了多个父类的特性。多继承可以看成是对单继承的扩展。其语法格式如下:class子类名(父类1名,父类2名…):

类体

范例7-7:电话手表与多继承的使用classPhone:#定义了父类1(电话类)

telenum=''deftel(self,stelenum):#定义方法,用于输出拨打信息

self.telenum=stelenumprint('您正在拨打%s'%(self.telenum))classWatch:#定义了父类2(手表类)

nowtime=''week=''deftimeinfo(self,snowtime,sweek):#定义方法,用于输出时间信息

self.nowtime=snowtimeself.week=sweekprint('现在的时间是:%s,今天是%s'%(self.nowtime,self.week))classTelwatch(Phone,Watch):#定义子类(电话手表类),继承于两个父类(电话类和手表类)

defTwinfo(self):print('我是电话手表')iwatch=Telwatch()#创建电话手表对象iwatch.Twinfo()#调用子类方法iwatch.tel('88888888')#调用父类1中的方法iwatch.timeinfo('12:00','星期一')#调用父类2中的方法

范例7-7:电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论