网站大量收购独家精品文档,联系QQ:2885784924

面向对象编程基础.pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

风中路标 + 关注
实名认证
内容提供者

学习资料分享

1亿VIP精品文档

相关文档