第9章 面向对象编程.pptxVIP

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

第9章面向对象编程;第9章面向对象编程;主要内容;9.1面向对象的基本概念;对象是面向对象编程中的基本单位。每个对象都是现实世界中的一个实体或概念的抽象表示。对象具有状态和行为。状态由对象的属性(或称为数据成员、实例变量)表示,而行为则由对象的方法(或称为成员函数、实例方法)定义。例如,一个汽车对象可能具有颜色、品牌、速度等属性,以及启动、加速、刹车等方法。;类是对象的模板或蓝图。它定义了具有相同属性和行为的对象的共同特征。类定义了对象的结构,包括数据成员(属性)和成员函数(方法)。类还可以定义对象之间的关系,如继承和多态。通过使用类,可以创建多个具有相同属性和行为的对象实例。;封装是面向对象编程中的一个重要概念。它指的是将对象的属性和方法隐藏在其内部,只通过对象提供的接口进行访问和修改。封装有助于保护对象的内部状态,防止外部代码直接访问和修改对象的私有数据。同时,封装也提供了数据抽象和信息隐藏的能力,使得对象的使用者只需要关心对象提供的接口,而不需要了解对象内部的实现细节。;继承是面向对象编程中的一个重要特性。它允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以继承父类的所有属性和方法,并可以添加或覆盖父类的属性和方法。通过继承,可以实现代码的重用和扩展。同时,继承也提供了一种层次结构,使得可以更加清晰地组织和管理代码。;多态是面向对象编程中的另一个重要特性。它指的是同一个操作可以作用于不同类型的对象,从而产生不同的结果。多态通过方法重写和方法重载来实现。通过多态,可以为不同的对象类型定义不同的行为,使得程序更加灵活和可扩展。;9.2类与对象;类(Class)是定义对象结构和行为的蓝图或模板。类定义了对象的属性(也称为数据成员或实例变量)和方法(也称为成员函数或实例方法)。属性描述了对象的状态,而方法则定义了对象的行为。类可以看作是一种数据类型,它封装了数据和方法,可以创建具有相同属性和行为的多个对象实例。

对象(Object)是类的实例。每个对象都是根据类创建的,并继承了类的属性和方法。对象代表了现实世界中可以明确标识的一个实体或概念。例如,一个汽车对象可能代表了现实世界中的一辆具体汽车,具有品牌、颜色、速度等属性,以及设置/获取汽车品牌、颜色和速度等方法,显示了一个汽车类,如图所示。;

;类的定义使用class关键字开始,后面跟着类的名称。类的名称通常遵循驼峰命名法(即每个单词的首字母大写),并且通常以大写字母开头以区别于变量和函数,具体格式如下。;;

;创建对象的格式

创建Animal对象dog

;访问对象成员的方式

访问对象的属性

;调用对象的方法

;

;通常将类中的变量称为属性。根据属性与类和实例的关联关系,可以将属性分为实例属性(成员变量)和类属性(类变量)。

(1)实例属性

实例属性(成员变量)是在构造方法__init__()中定义的,通过self参数引用。在类的外部,实例属性(成员变量)属于类的某个具体对象,只能通过对象名访问。

如例9-1中定义的name、age都属于实例属性,在代码9-3中通过对象名进行访问。

(2)类属性

类属性(类变量)是在类中方法之外定义的的变量。类属性(类变量)属于类,既可以通过类名访问,又可以通过对象名访问,被类的所有对象所共享。;例9-1中定义的legs属性,动物类的所有对象都可以共享这个属性值

;

;在类中定义实例方法时,方法的第一个参数为self。在调用方法时,self参数的值不需要显式传递,系统会将方法所属的对象传入该参数。在方法内部,可以通过这个参数调用对象本身的资源,如属性、方法等。实例方法定义的格式如下。;实例方法的使用;要调用实例方法,需要先创建一个类的对象实例,然后通过这个对象来调用方法。这是因为实例方法是与对象实例绑定的,而不是与类本身绑定的。实例方法调用的格式如下。;调用实例方法;实例方法不仅可以访问实例属性,还可以调用类中的其他方法或访问其他实例属性。可以在对象内部实现复杂的逻辑和操作。;;

;类中定义的属性和方法默认都是共有成员,类之外的代码都可以访问这些共有成员。为了契合面向对象编程的封装原则,Python支持将类中的成员设置为私有成员,私有成员只能在类的内部调用,这在一定程度上限制对象对类成员的访问。;在成员属性和方法名之前佳上两个下划线“__”作为前缀,则该属性或方法就是类的私有成员,语法格式如下。;定义一个包含私有属性__age和私有方法__info()的类CustomerInfo。;在上述代码的基础上,通过创建CustomerInfo类的对象customer,通过该对象访问类的私有属性和私有方法。

运行代码后输出以下错误提示信息。

AttributeError:CustomerInfoobjecthasnoattri

文档评论(0)

长情又很酷 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档