《Python程序设计》课件——9:继承与运算符重载..pptVIP

《Python程序设计》课件——9:继承与运算符重载..ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

目录9-1类与对象简介9-2类的属性9-3类的方法9-4访问权限9-5项目实现9-6继承9-7运算符重载

9-6继承Python的继承是一种面向对象编程的特性,继承描述的是多个类之间的所属关系,如果一个类A里面的属性和方法可以复用,则可以通过继承的方式,传递到类B里。那么类A就是基类,也叫做父类,类B就是派生类,也叫做子类。继承的主要目的是为了实现代码的重用和扩展性。

9-6继承-单继承单继承是指一个子类只继承一个父类的特性。单继承格式如下:class子类名(父类):执行语句...零个到多个类属性...零个到多个方法...

9-6继承-单继承例9-10定义动物Animal父类、子类狗Dog和子类鸟Bird,实现属性复用和方法重写。classAnimal:#定义父类Animaldef__init__(self,name):self.name=namedefspeak(self):print(f{self.name}会发出声音)#定义子类Dog单继承父类AnimalclassDog(Animal):#子类重写了父类方法speakdefspeak(self):#子类中直接使用父类属性nameprint(f{self.name}会汪汪叫)#定义子类Bird单继承父类AnimalclassBird(Animal):#子类重写了父类方法speakdefspeak(self):print(f{self.name}会叽叽喳喳)dog=Dog(旺财)dog.speak()#输出:旺财会汪汪叫bird=Bird(啾啾)bird.speak()#输出:啾啾会叽叽喳喳

9-6继承-多继承子类继承多个父类,例如类B可以继承类A和类C。语法格式如下:class类名(父类1,父类2,…):执行语句...零个到多个类属性...零个到多个方法...

9-6继承-多继承例9-11定义A、B类,定义C类多继承A类和B类。#定义两个父类classA:defmethod_a(self):returnA的方法classB:defmethod_b(self):returnB的方法#定义一个子类,它继承自A和BclassC(A,B):pass#创建一个C类的对象c=C()#调用从A类继承的方法print(c.method_a())#输出:A的方法#调用从B类继承的方法print(c.method_b())#输出:B的方法

9-6继承无论是单继承还是多继承都具有如下特点:(1)减少代码量和灵活指定类型;(2)子类具有父类的方法和属性;(3)子类不能继承父类的私有方法或属性;(4)子类可以添加新的方法;(5)子类可以重写父类的方法。

目录9-1类与对象简介9-2类的属性9-3类的方法9-4访问权限9-5项目实现9-6继承9-7运算符重载

9-7运算符重载在Python中,运算符重载是通过在类中定义特殊方法来实现的。这些特殊方法的名称以双下划线开始和结束例如:__add____sub__

9-7运算符重载例9-12重载“+”运算符,实现两个对象相加运算classMyClass:def__init__(self,value):self.value=value#重载+运算符def__add__(self,other):ifisinstance(other,MyClass):returnMyClass(self.value+other.value)returnNotImplementeda=MyClass(10)b=MyClass(20)c=a+b#实现了2个对象的+运算print(c.value)#输出:30

9-7运算符重载常用的可重载运算符方法名运算符和表达式说明__add__(self,rhs)self+rhs加法__sub__(self,rhs)self-rhs减法_

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档