(4.6)--第6章 面向对象程序设计.ppt
《(4.6)--第6章 面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《(4.6)--第6章 面向对象程序设计.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 面向对象程序设计1第6章 面向对象程序设计面向对象程序设计的一个关键性观念是将数据以及对数据的操作封装在一起,组成一个相互依存、不可分割的整体(对象),不同对象之间通过消息机制来通信或者同步。对于相同类型的对象(instance)进行分类、抽象后,得出共同的特征而形成了类(class),面向对象程序设计的关键就是如何合理地定义这些类并且组织多个类之间的关系。26.1 类的定义与使用Python使用class关键字来定义类,class关键字之后是一个空格,接下来是类的名字,如果派生自其它基类的话则需要把所有基类放到一对圆括号中并使用逗号分隔,然后是一个冒号,最后换行并定义类的内部实现。c
2、lass Car(object):#定义一个类,派生自object类 def infor(self):#定义成员方法 print(This is a car)36.1 类的定义与使用定义了类之后,就可以用来实例化对象,并通过“对象名.成员”的方式来访问其中的数据成员或成员方法。car=Car()#实例化对象car.infor()#调用对象的成员方法46.2 数据成员与成员方法创建类时用变量形式表示对象特征的成员称为数据成员(attribute),用函数形式表示对象行为的成员称为成员方法(method),数据成员和成员方法统称为类的成员。56.2.1 私有成员与公有成员私有成员在类的外部不能直接
3、访问,如果成员名以两个下划线开头但是不以两个下划线结束则表示是私有成员,否则就不是私有成员。Python并没有对私有成员提供严格的访问保护机制,通过一种特殊方式“对象名._类名_xxx”也可以在外部程序中访问私有成员,但这会破坏类的封装性,不建议这样做。66.2.1 私有成员与公有成员 class A:def _init_(self,value1=0,value2=0):self.value1=value1self._value2=value2 def setValue(self,value1,value2):self.value1=value1self._value2=value2 def
4、show(self):print(self._value1)print(self._value2)a=A()a.value1#普通数据成员可以直接访问0 a._A_value2#在外部访问对象的私有数据成员076.2.1 私有成员与公有成员n在Python中,以下划线开头的变量名和方法名有特殊的含义,尤其是在类的定义中。_xxx_:系统定义的特殊成员;_xxx:私有成员。v注意:Python中不存在严格意义上的私有成员。86.2.2 数据成员数据成员可以大致分为两类:属于对象的数据成员和属于类的数据成员。属于对象的数据成员一般在构造方法_init_()中定义,在定义和在实例方法中访问数据成员时
5、以self作为前缀,同一个类的不同对象(实例)的数据成员之间互不影响;属于类的数据成员是该类所有对象共享的,不属于任何一个对象,在定义类时这类数据成员一般不在任何一个成员方法的定义中。在主程序中或类的外部,对象数据成员属于实例(对象),只能通过对象名访问;而类数据成员属于类,可以通过类名或对象名访问。96.2.3 成员方法、类方法、静态方法方法一般指与特定实例绑定的函数,通过对象调用方法时,对象本身将被作为第一个参数自动传递过去,普通函数并不具备这个特点。106.2.3 成员方法、类方法、静态方法Python类的成员方法大致可以分为公有方法、私有方法、静态方法、类方法。公有方法、私有方法一般是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 4.6-第6章 面向对象程序设计 4.6 面向 对象 程序设计
限制150内