Python编程基础(第3版)(微课版)课件 6.3 对象.pptx

Python编程基础(第3版)(微课版)课件 6.3 对象.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

对象;;__init__是类的专有方法,每当根据类创建新实例时,Python都会自动运行__init__。

这是一个初始化手段,Python中的__init__方法用于初始化类的实例对象。创建对象的示例代码如下。;;删除对象时,同样会默认调用一个方法,这个方法为析构方法。__del__也是类的专有方法,当使用del语句删除对象时,会调用__del__本身的析构函数。

当对象在某个作用域中调用完毕,跳出其作用域时,析构函数也会被调用一次,目的是释放内存空间。使用__del__方法删除对象的具体示例代码如下。;classAnimal:

...#构造方法

...def__init__(self):

...print(---构造方法被调用---)

...#析构方法

...def__del__(self):

...print(---析构方法被调用---)

cat=Animal()

---构造方法被调用---

;;学习了类的定义过程和方法后,可以尝试创建具体的对象来进一步学习面向对象程序设计。

创建对象的示例代码如下。;对象的属性和方法;对象的属性和方法;对象属性由类的每个实例对象拥有。因此每个对象有自己对这个域的一份备份,即它们不是共享的。在同一个类的不同实例对象中,即使对象的属性有相同的名称,也互不相关。

对于类属性和对象属性,如果在类方法中引用某个属性,那么该属性必定是类属性。

要修改类属性,如果在类外,那么可以通过类对象修改;如果在类里面,那么只能在类方法中进行修改。;对象方法和类的方法是一样的。在定义类的方法时,程序没有为类的方法分配内存,只有在创建具体实例对象时,程序才会为对象的每个数据属性和方法分配内存。

类的方法是由def关键字定义的,具体定义格式与普通函数的定义格式相似,只是类的方法的第一个参数需要是self参数。用普通函数可以实现对对象方法的引用,示例代码如下。;如果要获取上述代码中对象的数据属性,并不需要通过sleep、eat等函数,直接在程序外部调用数据属性即可,示例代码如下。;尽管直接调用的方法很方便,但是破坏了类的封装性,这是因为对象的状态对于类外部而言应该是不可访问的。为防止程序开发人员在无意中修改对象的状态,需要对类的数据属性和方???进行私有化。

Python提供了方法以达到私有化的目的。为了让方法的数据属性或方法变为私有,只需要在属性或方法的名字前面加上双下画线即可,修改前文创建的Cat类代码的示例如下。;3.私有化;3.私有化;在程序外部直接访问私有化属性是不允许的,只能通过设置好的接口函数去调取对象的信息。

通过双下画线实现的私有化其实是“伪私有化”,实际上还是可以从外部访问这些私有化属性,示例代码如下。;;【任务6-2】创建Car对象

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档