- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第六章面向对象编程基础
在前面的章节中,我们解决问题的思想是先把一个问题分解为几个步骤,然后逐一实现每个步骤,如果某个步
骤比较复杂,还需要把这个步骤分解成许多子步骤,直到问题得以解决为止。我们把这种自顶向下、逐步求精、分
而治之的编程过程叫做面向过程编程。面向过程编程关注每个过程的具体实现。随着计算机技术的发展,软件越来
越复杂,面向过程编程的方法已经难以设计出大型软件。20世纪60年代,人们提出了面向对象编程(ObjectOriented
Programming,即OOP)的思想,比面向过程编程具有更强的灵活性和扩展性,可以使软件设计更加灵活,并且能更
好地进行代码复用。本章我们介绍面向对象编程技术的基础知识。
6.1面向对象编程概述
面向对象编程的思想是这样的:把要解决的问题分解成很多对象,编程人员主要关注在什么条件下对象做什么
事情,而不关注对象做事情的具体过程。想象这样的场景:屏幕下方每隔1秒就会出现大小、颜色各异的多个气球,
每个气球缓缓上升,最后飘出屏幕。该怎样模拟这个场景呢?
面向对象编程的思想:把气球当成对象,气球的大小、颜色、运动由气球自己决定。设计一个循环,每隔1秒
执行1次,在每次循环中产生几个新气球即可。
面向过程编程的思想:首先设计好控制气球大小、颜色、运动的各个函数。设计一个循环,每隔1秒执行1次,
在每次循环中去调用这些函数。
面向对象编程的基础是对象,每个对象都有属于自己的数据(属性)和操作这些数据的函数(方法)。在设计
软件时,首先要仔细分析每个对象都有哪些属性以及哪些方法,构造出对象的“模板”,然后再根据这个“模板”
生成具体的对象。
学习面向对象编程,需要理解两个基本概念:类、对象,灵活运用三大特点:封装、继承、多态。
(1)类
类就是“模板”,是用来生成具体对象的“模型”。比如工厂生产玩具的模具就是类。类是对现实生活中一类具
有共同特征的事物的抽象,是一种自定义数据类型,每个类都包含相应的数据(属性)和操作数据的函数(方法)。
编写类是面向对象编程的前期主要工作。
(2)对象
对象是根据类创建的一个个实体,比如工厂根据模具生产出来的具体的玩具。
(3)封装
封装是面向对象编程的核心思想,是指将对象的属性和方法绑定到一起封装起来的过程。可以选择性地隐藏属
性和隐藏实现细节。这就是封装的思想。
(4)继承
继承是指类与类之间的关系,如果一个类(A)除了具有另一个类(B)的全部功能外,还有自己的特殊功能,
这时类A就可以继承于类B,从而减少代码的书写,提高代码复用性。
(5)多态
多态是指子类和父类具有相同的行为名称,但这种行为在子类和父类中表现的实际效果却不相同。比如父亲有
“跑”的行为,儿子也有“跑”的行为,但父亲跑得更快一些,儿子跑得慢一些。具体实现方法是在子类中重写父
类的方法。
6.2类的创建与使用
6.2.1类的创建
在Python中,定义类的基本语法如下:
classClassName():
class_suite#类体
ClassName:类的名字,Python建议类名采用“大驼峰式命名法”(即每个英语单词的首字母大写)。class_suite:
1
类体,主要是由属性、方法等语句组成。
例子,定义一个Dog类,代码如下
01classDog():
02defrun(self):
03print(Dogisrunning)
6.2.2创建类实例
上面定义了一个Dog类,但仅仅是一个“模具”,有了这个“模具”,我们就可以创建很多“狗”,根据“模具”
创建“狗”,称为创建类的实例(对象),语法如下:
objectClassName()
ClassName:类名,object:根据类创建的实例对象。比如根据前面的Dog类创建一个实例对象:
dogDog()#创建Dog类实例
dog.run()#调用dog的run方法
运行效果如图6.1.1。
文档评论(0)