- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
类的继承、重写、封装、多态;;继承(inheritance)是两个类或多个类之间的父子关系,子类继承了父类的所有公有数据属性和方法,并且可以通过编写子类的代码扩充子类的功能。继承实现了数据属性和方法的重用,减少了代码的冗余。
在程序中,继承描述的是事物之间的所属关系。例如,猫和狗都属于动物,在程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴厘猫都继承自猫,而沙皮狗和斑点狗都继承自狗,如下图。;特定狗种类继承自狗类,狗类继承自动物类,狗类编写了描述所有种类的狗共有的行为和方法,而特定狗种类则增加了狗类特有的行为。
继承也有一定的弊端,例如,某种特定种类的狗不具有绝大部分狗的行为,当程序员没有厘清类间的关系时,可能会使子类具有不该有的方法。如果继承链太长,那么任何一点小的变化都可能会引起一连串变化。因此,使用继承时要注意控制继承链的规模。;在Python中,继承有以下特点。
(1)在继承中,基类初始化方法__init__()不会被自动调用。如果希望子类调用基类的__init__()方法,那么需要在子类的__init__()方法中显式调用基类。
(2)当调用基类的方法时,需要加上基类的类名前缀,且带上self参数变量。注意,在类中调用该类定义的方法时是不需要self参数的。
(3)Python总是先查找对应类的方法,如果在子类中没有对应的方法,那么Python才会在继承链的基类中按顺序查找。
(4)在Python的继承机制中,子类不能访问基类的私有成员。
;1.继承;1.继承;上述代码定义了Bosi类的父类Cat,将猫共有的属性和方法都放到父类中,子类仅需要向父类传输数据属性。这样可以很轻松地定义其他基于Cat类的子类。
在Bosi类的__init__()方法中显式调用了Cat类的__init__()方法,并向父类传输数据,注意这里需要加self参数。
因为在继承中子类不能继承父类的私有属性,所以不用担心父类和子类会出现因继承造成的重名情况。子类不能继承父类的私有属性的代码如下。;1.继承;2.多继承;2.多继承;;所谓重写,就是子类中有一个和父类中名字相同的方法,子类中的方法会覆盖父类中同名的方法,示例代码如下。;封装(encapsulation??就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体(即类)。
封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,只需通过外部接口和特定的访问权限去使用类即可。简而言之,封装就是将内容存储到某个地方,需要时再去调用。;多态指面向对象程序执行时,相同的信息可能会发送给多个不同类别的对象,系统依据对象所属的类别,引发对应类别的方法而产生不同的行为。
Python是动态语言,可以不检查类型但成功调用实例方法,只要方法存在、属性正确即可实现调用,这是Python语言与静态语言(如Java)最大的差别之一。;;【任务6-4】创建Land_Rover子类
您可能关注的文档
- Python编程基础(第3版)(微课版)课件 01-单元1 准备工作.pptx
- Python编程基础(第3版)(微课版)课件 2.1 Python的基础语法(二).pptx
- Python编程基础(第3版)(微课版)课件 2.1 Python的基础语法(一).pptx
- Python编程基础(第3版)(微课版)课件 2.2 创建变量并提取里面的数值.pptx
- Python编程基础(第3版)(微课版)课件 2.3 Python的运算符.pptx
- Python编程基础(第3版)(微课版)课件 3.1 认识Python数据结构的组成.pptx
- Python编程基础(第3版)(微课版)课件 3.2 创建列表并进行增、删、改、查等操作.pptx
- Python编程基础(第3版)(微课版)课件 3.3 创建元组并进行取值操作.pptx
- Python编程基础(第3版)(微课版)课件 3.4 创建字典并进行增、删、改、查等操作.pptx
- Python编程基础(第3版)(微课版)课件 3.5 创建集合并进行集合运算.pptx
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)