- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《第02章面向对象的程序设计与软件开发初步
面向对象的程序设计与软件开发初步
目 标
阅读和研究本章之后,你应该能够:
说出面向对象的程序设计的基本组成部分。
区分类和对象。
区分类和实例方法。
区分类和实例数据值。
利用表示类、对象和面向对象程序设计的其他组成部分的图标画出对象框图。
讲述面向对象的程序中继承性的重要意义。
说出并解释软件生命周期的各个阶段。
引 言
开始编写实际程序之前,我们需要介绍面向对象程序设计(Object Oriented Programming)的几个基本的概念,面向对象的程序设计是你将在本书学习的程序设计方式。本章的目的是让你留下面向对象的程序设计的印象,介绍有关面向对象的程序设计的概念基础。学习这本书之后,你可能需要重新阅读本章。
读者中也许有一部分人有一定的程序设计经验,无论是面向对象的或非面向对象的,大概均会感到C#与自己以前学过的程序设计语言有些相似之处。这种相似可以加快你的学习进程。但在许多情况下,看起来很相似,实际却完全不同,所以请你不要对相似之处草率地下结论。
本章的另一个目的是介绍软件开发过程。为了能够编写程序,只是知道面向对象程序的组成是不够的,你必须学习程序的开发过程。在这一章中。我们将简要介绍软件的开发过程。
类和对象
面向对象的程序设计中两个最重要的概念是类和对象。从广义的术语来说,对象(object)
是一个可以想象的物体,既是有形的又是无形的。以面向对象方式编写的程序由相互作用的
对象组成。银行用来维护往来账户的程序可能有许多Account、Customer、Transaction和ATM
对象。对象由数据和处理这些数据的操作组成。例如,一个Account对象可以由诸如账户号
码、所有者、开户日期、最初余额以及当前余额这样的数据和诸如存款、转账以及取款这样
的操作组成。
图2.1 对象的图形表示法
几乎所有有价值的程序都有许多类型相同的对象。例如,在银行使用的程序中我们可想象出它有许多Account、Customer和其他的对象。图2.2显示两个名为Jack和Jill的Customer对象和一个名为SV l29的Account对象。
图2.2 名为Jack和Jill的两个Customer对象和一个名为Svl29的Account对象
我们在程序内部编写出指令创建对象。为了让计算机能够创建一个对象,我们必须提供一个称为“类(class)的定义。类是计算机用来创建对象的模型或模板,对象称为“类的实例’(instance)。对象是某个确切类的实例,一个类的实例属于(belongs to)这个类。Jack和JilI这两个customer对象就是customer类的实例。只要一个类被定义,我们即可根据程序的需要创建这个类的许多对象。
在创建一个类的实例(对象)之前必须定义这个类。
图2.3所示为本书中用来表示类的框图,图2.4显示两个类和5个对象。注意,其中包括了对象的类名,以清楚地识别某对象属于哪个类。
图2.3 类的图形表示法
图2.4有两个Account对象和3个Customer对象的两个类Account和Customer
消息和方法
编写面向对象的程序的过程中我们首先定义类,而当程序开始运行时,由这些类创建对象以完成任务。任务可以是两个数相加、计算学校贷款利息支付以及计算航天飞机的返回角度等。为了命令类或对象执行一项任务,我们要为其发送一个消息(message)。例如,我们发送new消息给Account类以创建一个实例(一个Account对象),然后可以为Account对象发送deposit消息,存款100美元。
处理消息的类或对象必需相应编程,不能只是将消息随便发送给一个类或对象,而只能将消息发送给能够理解这个消息的类或对象。处理所收到消息的类或对象必须有对应的方法(method),也就是类或对象为完成一项任务而执行的指令序列。为类定义的方法称为“类方法_(class method),而为对象定义的方法就是实例方法(instance method)。
我们首先看一个实例方法的例子。假设为Account对象定义了deposit方法,然后命令这个对象将指定数目的存款存入账户。由此方法定义,我们可以为Account对象发送一个deposit消息,随后存入此存款。我们传递给对象的数值称为“消息的变量(argument)。注意,发送给对象或类的消息名必须与该方法名相同。图2.5描述说明了消息的发送过程。
图2.5发送deposit消息给Account对象
图2.5所示的框图显示的是单向传送,即对象完成所请求的操作(存入指定的存款),但是不响应信息发送者。在很多情况下,我们需要双向传送。在双向传送中,对象返回给信息发送者一个值。例如,假设我们需知道
文档评论(0)