面向对象的编程PPT课件_第1页
面向对象的编程PPT课件_第2页
面向对象的编程PPT课件_第3页
面向对象的编程PPT课件_第4页
面向对象的编程PPT课件_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Python程序设计入门面向对象的编程面向对象的编程Python程序设计入门类属性和实例属性类属性和实例属性Python程序设计入门类属性与实例属性类属性与实例属性属性属性尽量把用户需要传入的属性作为实例属性,而把同类都一尽量把用户需要传入的属性作为实例属性,而把同类都一样的属性作为类属性。实例化属性在每创造一个类都会初样的属性作为类属性。实例化属性在每创造一个类都会初始化一遍。不同的实例其实例属性可能是不同的,不同实始化一遍。不同的实例其实例属性可能是不同的,不同实例的类属性都相同。例的类属性都相同。Python程序设计入门类属性与实例属性类属性与实例属性1 1、实例属性、实例属性在在_ _

2、initinit_ _(self,.self,.)中初始化)中初始化内部调用时都需要加上内部调用时都需要加上selfself外部调用时用外部调用时用“对象名对象名. .属性名属性名”调用调用Python程序设计入门类属性与实例属性类属性与实例属性2 2、类属性、类属性在在_ _initinit_ _()里初始化()里初始化在内部用在内部用classnameclassname. .类属性名调用类属性名调用外部既可以用外部既可以用classnameclassname. .类属性类属性名调用也可以名调用也可以用用instancenameinstancename. .类属性名调用类属性名调用Pytho

3、n程序设计入门类属性与实例属性类属性与实例属性3 3、私有私有属性属性双下划线双下划线_ _开头:外部不可以用开头:外部不可以用“对象名对象名. .属性属性名名”来访问或者是更改。实际将其转化为了来访问或者是更改。实际将其转化为了“_ _类名类名_ _属性名属性名”Python程序设计入门单下划线、双下划线、头尾下划线单下划线、双下划线、头尾下划线_foo_foo_定义的是特殊方法,类似于定义的是特殊方法,类似于_ _initinit_ _之类的之类的_foo_foo以单下划线开头表示的是以单下划线开头表示的是protectedprotected类型的变量。即类型的变量。即保护类型只能保证其本

4、身和子类进行访问(创建的实例可保护类型只能保证其本身和子类进行访问(创建的实例可以访问),不能用于以访问),不能用于from module importfrom module import* *_ _foofoo双下划线表示的是私有类型的(双下划线表示的是私有类型的(privateprivate)的变量)的变量。只能允许这个类的本身进行访问只能允许这个类的本身进行访问Python程序设计入门 访问限制访问限制Python程序设计入门访问限制访问限制私有属性私有属性私有类属性私有类属性私有对象属性私有对象属性 为了保证属性不会被随意修改和访问,可以将属性定义为私有属性。 如果让内部属性不让外部访

5、问,可以在属性名称之前加上两个下划线_。在Python中,实例变量名如果以_开头,就变成了一个私有变量(private)。只有内部可以访问,外部不可以访问。只有内部可以访问,外部不可以访问。Python程序设计入门访问限制访问限制注意事项注意事项 通过“对象名.属性名”直接修改私有属性。表面看上去是修改了,其实并没有,因为Python解析器已经将对象内部的属性名解释为“_类名_属性名”。如果在外部修改相当于另外声明一种属性。 设置为私有属性不能直接通过对象去访问属性。但是可以通过实例化。但是可以通过“实例化对象名._类名_属性名”直接进行访问。但是不建议这样操作。不同版本的Python解析器可

6、能会把“_属性名”改成不同的变量名。总的来说就是,Python本身没有任何机制阻止你干坏事,一切全都靠自觉。 这些能够直接修改吗?类属性可以直接通过修改类名._类名_属性名=(可通过类方法定义后面的说明)Python程序设计入门 类方法和静态方法类方法和静态方法Python程序设计入门类方法和静态方法类方法和静态方法 2 2、静态方法:、静态方法: 通过装饰器staticethod装饰 不能访问实例属性 参数不能传入self 与类相关但是不依赖与实例的方法 1 1、普通方法、普通方法 def fun_name(self,.): pass 外部用实例调用Python程序设计入门类方法和静态方法类方法和静态方法 3 3、类方法、类方法 classmethodclassmethod 不能访问实例属性不能访问实例属性 参数必须传入参数必须传入clscls 必须传入必须传入clscls参数(即代表了此对象参数(即代表了此对象-区别区别selfself代表实例对象)并且用此来代表实例对象)并且用此来调用类属性:调用类属性:clscls. .类属性名类属性名 静态方法与实例方法都通过类或者实例来调用。其两个特点都是不能够调用实静态方法与实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论