第11章:面向对象程序设计.doc

第11章:面向对象程序设计.doc

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

第PAGE1页共NUMPAGES16页

第11章:面向对象程序设计

本章导读:

面向对象编程(oop)是一种程序设计思想,即把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。Python是一门面向对象的高级编程语言,养成面向对象的编程思想,对学习Python编程语言非常重要。

11.1面向对象编程

在面向对象编程中,总是离不开类和实例这两个概念。什么是类?什么是实例呢?简单来说,类是一类事物的或具有相似特征的事物的抽象,它是抽象的,不能具体化,实例是类的具体化,它是一个具体的东西,是真实存在的一个事物或者一种群体。

11.1.1面向对象与面向过程的区别

面向过程的程序设计把计算机程序视为一系列的命令集合,也就是一组函数的顺序执行。为了简化程序设计,面向过程的程序设计把函数继续切割为子函数,即把大块函数通过切割成小续函数来降低系统的复杂度。

面向对象的程序设计把计算机程序视为一组对象的集合,每个对象都可以接收其他对象发送的数据,并处理这些数据。计算机程序的执行就是一系列数据在各个对象之间的传递。

在Python编程中,所有数据类型都可以看作对象,也可以自定义对象。自定义对象的数据类型就是面向对象中的类。下面以示例11-1来说明面向过程和面向对象在程序设计流程上的区别。

【示例11-1】

假设要处理学生的成绩表,面向过程的程序设计如下:

1. std1={name:张三,age:12}

2. std2={name:李四,age:13}

3. defprint_age(std):

4. print(%s:%s%(std[name],std[age]))

5. print_age(std1)

6. print_age(std2)

【代码解析】

第1、2行:分别定义两个字典std1和std2,字典中存放学生姓名和年龄的信息。

第3、4行:定义print_age函数,该函数接收一个字典类型的参数。

第4行:输出参数中的内容。

第5、6行:分别输出std1和std2中的学生姓名和年龄。

【程序运行结果】

程序运行结果如图11-1所示,正确地输出了std1与std2中的学生姓名和年龄。

图1-12示例11-1的程序运行结果

示例11-1是面向过程的编程,而面向对象的编程与这种方式截然不同。采用面向对象的程序设计思想,首先思考的不是程序的执行流程,而是学生这种数据类型应该被视为一个对象,这个对家拥有name和age两个属性。如果要输出一个学生的年龄,首先必须创建这个学生对应的对象,然后给对象发送print_age的消息,让对象把自已的数据打印出来。

【示例11-2】

要处理学生的成绩表,面向对象的程序设计如下:

1 classstudent(object):

2 def__init__(self,name,age):#注:__是两个_

3 self.name=name

4 self.age=age

5 defprint_age(self):

6 print(%s:%s%(self.name,self.age))

7 zs=student(张三,12)

8 ls=student(李四,13)

9 zs.print_age()

10 ls.print_age()

【代码解析】

第l行:定义student类。

第2~4行:在__init__函数中定义实例属性name和age。

第5、6行:定义print_age函数,用于输出实例属性。

第7、8行:使用student类分别实例化两个对象zs和ls。

第9、10行:调用对象的print_age方法,输出实例属性的值。

【程序运行结果】

程序运行结果如图11-2所示,正确地输出了对象zs和ls的姓名和年龄,与示例11-1的程序运行结果一致,说明两种编程方法都是可以的。

图11-2示例11-2的程序运行结果

小提示:

面向对象的程序设计思想是从自然界中得来的,因为在自然界中,类和实例的概念是很自然的。类是一种抽象概念,如定义的student类,是指学生这个摄念,而实例是一个个具体的student,如zs和ls是两个具体的student.

面向对象的程序设计思想是抽象出类,根据类创建实列。面向对象的抽象程度比函数要高,因为一个类既包含数据,又包含操作数据的方法

11.1.2类和实例

面向对象最重要的概念就是类和实例,必须牢记,类是抽象

文档评论(0)

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

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

1亿VIP精品文档

相关文档