网站大量收购闲置独家精品文档,联系QQ:2885784924

Python程序设计PPT课件(共12章)第7章 类与面向对象.pptxVIP

Python程序设计PPT课件(共12章)第7章 类与面向对象.pptx

  1. 1、本文档共70页,可阅读全部内容。
  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文档。上传文档
查看更多
第7章 类与面向对象;第7章 类与面向对象;第一部分;类是面向对象的实现手段。;面向过程只考虑如何解决当前问题,它着眼于问题本身。;面向对象编程的着眼之处在于角色以及角色之间的联系。;;角色之间互相独立,但相互协作,游戏的流程不再由单一的功能函数实现,而是通过调用与角色相关的方法来完成。;;对象是现实世界中可描述的事物,它可以是有形的也可以是无形的,从一本书到一家图书馆,从单个整数到繁杂的序列等都可以称为对象。;对象是构成世界的一个独立单位,它由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一个独立整体。;从具体的事物中把共同的特征抽取出来,形成一般的概念称为“归类”,忽略事物的非本质特征,关注与目标有关的本质特征,找出事物间的共性,抽象出一个概念模型,就是定义一个类。;在面向对象的方法中,类是具有相同属性和行为的一组对象的集合,它提供一个抽象的描述,其内部包括属性和方法两个主要部分,它就像一个模具,可以用它铸造一个个具体的铸件。;抽象是抽取特定实例的共同特征,形成概念的过程。;封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。;继承描述的是类与类之间的关系,通过继承,新生类可以在无需赘写原有类的情况下,对原有类的功能进行扩展。;多态指同一个属性或行为在父类及其各派生类中具有不同的语义。;封装、继承、多态是面向对象程序设计的三大特征,它们的简单关系如下图所示。 ;第二部分;;厂商在生产汽车之前会先分析用户需求,设计汽车模型,制作设计图样,设计图通过之后工厂再依照图纸批量生产汽车。 ;;为满足居住需求,需要根据房屋设计图纸搭建实际的房屋。同理,程序中的类需要实例化为对象才能实现其意义。;创建对象的格式如下:;若想在程序中真正地使用对象,需掌握访问对象成员的方式。对象成员分为属性和方法,它们的访问格式分别如下:;为了契合封装原则,保证类中的代码不被外部代码轻易访问。 Python支持将类中的成员设置为私有成员,在一定程度上限制对象对类成员的访问。;Python通过在类成员名之前添加双下划线(__)来限制成员的访问权限,语法格式如下:;例如,定义一个包含私有属性__weight和私有方法__info()的类PersonInfo。;创建PersonInfo类的对象person,通过该对象访问类的属性:;;由以上展示的错误信息可以判断,对象无法直接访问类的私有成员。;;;上机练习1:定义餐馆类;第三部分;如果定义类时显式地定义__init__()方法,那么创建对象时Python解释器会调用显式定义的__init__()方法; 如果定义类时没有显式定义__init__()方法,那么Python解释器会调用默认的__init__()方法。;;;;Python中的垃圾回收主要采用的是引用计数。引用计数是一种内存管理技术,它通过引用计数器记录所有对象的引用数量,当对象的引用计数器数值为0时,就会将该对象视为垃圾进行回收。;这是因为getrefcount()函数也会统计临时对象的引用。;;;类方法;类方法可以被类名或对象名调用,其语法格式如下:;在实例方法中无法修改类属性的值,但在类方法中可以修改类属性的值。;静态方法;;开户;第四部分;Car类;类中的每个属性都必须有初始值,哪怕这个值是0或空字符串。 在有些情况下,如设置默认值时,在方法__init__()内指定这种初始值是可行的;如果我们对某个属性这样做了,就无须包含为它提供初始值的形参。 ;可以以三种不同的方式修改属性的值: 直接通过实例进行修改 通过方法进行设置 通过方法进行递增(增加特定的值);上机练习3:就餐人数;第五部分;子类在继承父类时,会自动拥有父类中的方法和属性。;;;;;;;上机练习4:冰淇淋小店;上机练习5:井字棋;第六部分;“鸭子类型”是这样推断的:如果一只生物走起路来像鸭子,游起泳来像鸭子,叫起来也像鸭子,那么它就可以被当做鸭子。也就是说,“鸭子类型”不关注对象的类型,而是关注对象具有的行为。;;上机练习6:统计字母y和字母o的出现次数;本章主要介绍的是关于面向对象程序设计的知识,包括面向对象概述、类和对象的关系、类的定义与访问、对象的创建与使用、类成员的访问限制、构造方法与析构方法、类方法和静态方法、继承、多态等知识。 通过本章的学习,希望读者理解面向对象的思想,能熟练地定义和使用类,并具备开发面向对象项目的能力。 ;问题及作业

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档