Python面向对象程序设计.ppt

Python面向对象程序设计.ppt

ID:51061758

大小:934.00 KB

页数:40页

时间:2020-03-18

Python面向对象程序设计.ppt_第1页
Python面向对象程序设计.ppt_第2页
Python面向对象程序设计.ppt_第3页
Python面向对象程序设计.ppt_第4页
Python面向对象程序设计.ppt_第5页
Python面向对象程序设计.ppt_第6页
Python面向对象程序设计.ppt_第7页
Python面向对象程序设计.ppt_第8页
Python面向对象程序设计.ppt_第9页
Python面向对象程序设计.ppt_第10页
资源描述:

《Python面向对象程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章面向对象程序设计面向对象程序设计(ObjectOrientedProgramming,OOP)的思想主要针对大型软件设计而提出,使得软件设计更加灵活,能够很好地支持代码复用和设计复用,并且使得代码具有更好的可读性和可扩展性。面向对象程序设计的一条基本原则是计算机程序由多个能够起到子程序作用的单元或对象组合而成,这大大地降低了软件开发的难度,使得编程就像搭积木一样简单。面向对象程序设计的一个关键性观念是将数据以及对数据的操作封装在一起,组成一个相互依存、不可分割的整体,即对象。对于相同类型的对象进行分类、抽象后,得出共同的特征而

2、形成了类,面向对象程序设计的关键就是如何合理地定义和组织这些类以及类之间的关系。Python完全采用了面向对象程序设计的思想,是真正面向对象的高级动态编程语言,完全支持面向对象的基本功能,如封装、继承、多态以及对基类方法的覆盖或重写。但与其他面向对象程序设计语言不同的是,Python中对象的概念很广泛,Python中的一切内容都可以称为对象例如,字符串、列表、字典、元组等内置数据类型都具有和类完全相似的语法和用法。创建类时用变量形式表示的对象属性称为数据成员或成员属性,用函数形式表示的对象行为称为成员函数或成员方法,成员属性和成员方

3、法统称为类的成员。6.1.1类定义语法Python使用class关键字来定义类,class关键字之后是一个空格,然后是类的名字,再然后是一个冒号,最后换行并定义类的内部实现。类名的首字母一般要大写,当然您也可以按照自己的习惯定义类名,但是一般推荐参考惯例来命名,并在整个系统的设计和实现中保持风格一致,这一点对于团队合作尤其重要。例如:classCar:#新式类必须有至少一个基类definfor(self):print("Thisisacar")6.1.1类定义语法定义了类之后,可以用来实例化对象,并通过“对象名.成员”的方式来访问其

4、中的数据成员或成员方法,例如下面的代码:>>>car=Car()>>>car.infor()Thisisacar在Python中,可以使用内置方法isinstance()来测试一个对象是否为某个类的实例,下面的代码演示了isinstance()的用法。>>>isinstance(car,Car)True>>>isinstance(car,str)False6.1.1类定义语法最后,Python提供了一个关键字“pass”,类似于空语句,可以用在类和函数的定义中或者选择结构中。当暂时没有确定如何实现功能,或者为以后的软件升级预留空间,

5、或者其他类型功能时,可以使用该关键字来“占位”。例如下面的代码都是合法:>>>classA:pass>>>defdemo():pass>>>if5>3:pass6.1.2self参数类的所有实例方法都必须至少有一个名为“self”的参数,并且必须是方法的第一个形参(如果有多个形参的话),“self”参数代表将来要创建的对象本身。在类的实例方法中访问实例属性时需要以“self”为前缀,但在外部通过对象名调用对象方法时并不需要传递这个参数,如果在外部通过类名调用对象方法则需要显式为self参数传值。6.1.2self参数在Python中

6、,在类中定义实例方法时将第一个参数定义为“self”只是一个习惯,而实际上类的实例方法中第一个参数的名字是可以变化的,而不必须使用“self”这个名字,例如下面的代码:>>>classA:def__init__(hahaha,v):hahaha.value=vdefshow(hahaha):print(hahaha.value)>>>a=A(3)>>>a.show()36.1.3类成员与实例成员这里主要指数据成员,或者广义上的属性。可以说属性有两种,一种是实例属性,另一种是类属性。实例属性一般是指在构造函数__init__()中定义

7、的,定义和使用时必须以self作为前缀;类属性是在类中所有方法之外定义的数据成员。在主程序中(或类的外部),实例属性属于实例(对象),只能通过对象名访问;而类属性属于类,可以通过类名或对象名访问。6.1.3类成员与实例成员在类的方法中可以调用类本身的其他方法,也可以访问类属性以及对象属性。在Python中比较特殊的是,可以动态地为类和对象增加成员,这一点是和很多面向对象程序设计语言不同的,也是Python动态类型特点的一种重要体现。6.1.3类成员与实例成员classCar:price=100000#定义类属性def__init__

8、(self,c):self.color=c#定义实例属性car1=Car("Red")car2=Car("Blue")print(car1.color,Car.price)Car.price=110000#修改类属性Car.name=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。