- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(面向对象的软件工程方法
面向对象的软件工程方法
一 面向对象的基本概念
近年来,为了克服传统软件工程方法存在的复用性和可维护性差以及难以满足用户需要等缺点,面向对象的思想越来越受到人们的欢迎和重视。面向对象的思想提倡运用人类的思维方式,从现实世界中存在的事物出发来构造软件。它建立在“对象”概念的基础上,以对象为中心,以类和继承为构造机制,来设计和构造相应的软件系统。
面向对象的基本思想最先体现在面向对象程序设计语言中,然后才逐渐形成了面向对象的分析和设计方法。20世纪60年代开发的Simula67语言首次提出了对象的概念,它是第一个面向对象程序设计语言。Ada语言是在20世纪70年代出现的又一种支持数据抽象的基于对象概念的程序设计语言。最具有代表性和影响力的面向对象程序设计语言是由美国Xerox(施乐)公司Palo Alto研究中心的Alan Kay开发的Smalltalk语言。Smalltalk全面实现了面向对象技术的机制,丰富了面向对象的概念,它的发布引起了人们对面向对象概念的广泛关注。随后产生了多种面向对象程序设计语言,如C++和Java等,同时,面向对象的分析和设计方法也被广泛应用于软件开发中。比较具有代表性的基于面向对象思想的软件开发方法有Grady Booch提出的面向对象的分析与设计方法论、Jim Rumbaugh提出的面向对象的建模技术和Zvar Jacobson提出的面向对象的软件工程方法学等。
Alan Kay
2003年,Alan Kay因在面向对象程序设计上的杰出贡献,成为图灵奖的得主。Alan Kay于1970年加入Xerox(施乐)公司的Palo Alto研究中心。20世纪70年代初期,Alan Kay等人开发了最具代表性和影响力的面向对象语言Smalltalk,因此,被誉为“Smalltalk之父”。
Alan Kay不但是面向对象编程语言Smalltalk的发明人之一,也是面向对象编程思想的创始人之一。他是笔记本电脑最早的构想者,同时也是现代Windows GUI的架构师。Alan Key可谓是计算机领域的大师。
相对于传统的软件工程思想而言,面向对象的思想更符合人类的思维逻辑,它淡化了计算机的观点,以现实世界中的模型作为构造软件系统的依据。面向对象的基本概念包括对象、类、封装、继承和多态,下面一一介绍。
1. 对象
对象可以是客观世界中存在的事物,也可以是概念化的实体,它由一组属性和操作组成。属性是用来描述对象静态特征的数据项,是对客观世界实体所具有性质的抽象。操作是用来描述对象动态特征。比如,把人当成一个对象,那么他的属性就有身高、体重、姓名和年龄等静态特征,他的操作就包括工作、学习、吃饭和运动等;把汽车当成一个对象,那么它的属性就有品牌、颜色、价格和寿命等,它的操作就包括加速、减速和刹车等。
理解对象的概念时,需要注意以下几点。
对象的数据是封装起来的,对数据的处理需要通过特定的操作。
对象之间通过传递消息进行通信,不同的对象独立地处理自身的数据。
对象具有主动性。要处理对象的内部数据时,外界需要通过接口向对象发送消息,请求它执行特定的操作。
2. 类
类是对对象的抽象,是对具有相同属性和相同操作的一组相似对象的定义。通常情况下,很多对象都有相似的特征。比如,对于两个教师,他们虽然可能身高、体重、性别、年龄和籍贯等特征不同,但是职业却是相同的;对于两把椅子,它们可能颜色、形状、价格和位置等特征不同,但是作用却是相同的。在这种情况下,我们就可以忽略事物的非本质特征,只注意那些与当前目标相关的本质特征,从中找出事物的共性,把本质特征相同的事物划分为一类,即将多个对象抽象为类。
对于同类对象,它们具有相同的属性和操作,但是每个对象的属性值可能不同,执行操作的结果也可能不同。比如,在教务管理系统中,可以定义“学生”类,并定义编号、姓名和院系等属性,及登录该系统进行操作。每位学生都有自己特定的编号、姓名和院系等属性值,并且执行登录操作后,都会进入个性化的主页。
谈到类的概念,就必须知道什么是类的实例。实例是由某个特定的类描述的一个具体的对象。比如,对于“教师”类,某位教师“王一”就是类的一个实例;对于“学生”类,某位学生“李二”就是该类的一个实例。
3. 封装
封装是指把对象的属性和操作结合在一起,组成一个独立的单元。封装强调两个概念,即独立和封闭。
独立是指对象是一个不可分割的整体,它集成了事物全部的属性和操作,并且它的存在不依赖于外部事物。
封闭是指与外部的事物通信时,对象要尽量地隐藏其内部的实现细节,它的内部信息对外界来说是隐蔽的,外界不能直接访问对象的内部信息,而只能通过有限的接口与对象发生联系。
可以说,类是数据封装的工具,而对象是封装的实现。类的成员又分为公有成员、私有成员和保护成员,它们分别有不同的
您可能关注的文档
最近下载
- 《膝关节前后交叉韧带损伤》课件.ppt VIP
- 产钳和胎头吸引助产课件.pptx VIP
- 前交叉韧带损伤学习课件.pptx VIP
- GeForce GTX 1070Ti显卡电路图纸参考 PG411 Rev A00.pdf VIP
- 2025-2026学年小学美术五年级上册人美版·北京(主编杨力)(2024)教学设计合集.docx
- 学堂在线 生活英语进阶 章节测试答案.docx VIP
- 一汽-奔腾B50-产品使用说明书-奔腾B50 2014款1.6MT伙伴-CA7165MT4-B50伙伴用户手册.pdf VIP
- 八年级数学下册重难点压轴题突破专项(苏科版)06平行四边形(五大题型,45题)含答案与解析.pdf
- 角膜地形图与圆锥角膜.ppt VIP
- 2025四川内江市总工会招聘工会社会工作者14人笔试备考题库及答案解析.docx VIP
文档评论(0)