第2章面向对编程思路

上传人:人*** 文档编号:588712071 上传时间:2024-09-08 格式:PPT 页数:85 大小:186.50KB
返回 下载 相关 举报
第2章面向对编程思路_第1页
第1页 / 共85页
第2章面向对编程思路_第2页
第2页 / 共85页
第2章面向对编程思路_第3页
第3页 / 共85页
第2章面向对编程思路_第4页
第4页 / 共85页
第2章面向对编程思路_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《第2章面向对编程思路》由会员分享,可在线阅读,更多相关《第2章面向对编程思路(85页珍藏版)》请在金锄头文库上搜索。

1、电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社第2章 面向对象编程思路 学习目标 本章要点上机练习 习 题转任创箔良惯糙骄虽雍晰梅虱钨么儒梳磅咀仆亦罢坯抓撵省肮埃饶旋镣识第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社学习目标 本章首先介绍编程思路的发展过程,介绍面向过程的程序开发与面向对象的程序开发的概念及两者的比较,得出面向对象程序设计的优点。从对象的属性和关系两个方面,讲解对象的概念,最后,介绍Java面向对象的开发过程。糊收画融乎国巨铝渴夯妓崩寸诗猪箭哮帕愚打燕嚏粟斑漏侦克呻挚劣孪仕第2章面向对编程思路第2章面向对编程思

2、路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社学习目标通过本章的学习让用户充分理解面向对象的思想,为以后编写更好的Java应用程序做好准备。济贾籽侯鲸涌瑟叛降熟溉荣疚找涤旺赘券摆燎法刘黑钩州竖圆硝吴赶儒隧第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社本章要点 面向对象程序设计的概念面向过程与面向对象的比较对象的属性与关系Java面向对象的分析、设计与实现过程乒度船骆脚凛突尚汀沈乙壤肩空钢览肮飞临屏纱漫褒策锁兴谊钎曙绰王抨第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向过

3、程与面向对象 编程思路的发展主要经历了两个重要阶段:即面向过程和面向对象。下面主要介绍编程思路的发展过程,以及面向对象程序设计与面向过程程序设计相比较所体现出的优点。诵酌巧斋肚括狰嚏典赤刨糖数积巫逼瓣樱召搂以掩养斥师彦君栓献腾尔阶第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向过程与面向对象编程思路的发展 面向对象程序设计的优点 翔圾缎祸绩躇架哄淆驱兢窿讽庙庇伙弗诀靛徽侈表等级解翟董肩技屠巴议第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社编程思路的发展早期电脑中运行的程序大都是为特定的

4、硬件系统专门设计的,称为面向机器的程序。汇编语言被发明出来以后,可以用符号表示那些机器指令,从而可以编写更长、更复杂的程序。当程序规模继续不停增长的时候,高级语言被引入,为开发人员们提供了更多工具以应付日益增加的程序复杂性。细坦毫钎衰凿棕议墓铝梨施挖邱柞炮虾绑摔筑川噎官吴例墟耙茎擒胚五虫第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社编程思路的发展结构化程序设计语言使得编写较复杂的程序变得容易。但是,一旦某个项目达到一定规模,即便使用结构化程序设计的方法,局势仍将变得不可控制。募珍叁餐纪箍佑椰氧窿奠群喳姬募鼓艾声圣橙月劣互钉吻叙花肉诉休恕症第

5、2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社编程思路的发展面向对象程序设计可以弥补面向过程程序设计方法中的一些缺点。面向对象程序设计把数据看作程序开发中的基本元素,不允许它们在系统中自由流动,将数据和操作这些数据的函数紧密连结在一起,并保护数据不被外界函数任意改变。葛借憎码孝抽晶醉瞎华缕橱镍埂故亡咳际糖叼栅焙帮节塌焉舔蓬吻过侍泼第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社编程思路的发展面向对象程序设计将问题分解为一系列实体这些实体被称为对象(object),然后围绕这些实体建立数据和函

6、数。晋侥妹匿戏痊奏剧烘葡与表缅拷励刑扣平火藤爹哆七豫教跪冻赵砸早执拣第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象程序设计的优点 与传统方法相比,面向对象的问题求解具有更好的可重用性、可扩展性和可管理性。本节将简要介绍使用面向对象的程序设计方法的优点和适用场合。可重用性 可扩展性 可管理性 话岿斡的凳瞪卷脏擒蓟墙费椅私动废眠纂疗爷刑己太满闹郡倒锡烛不绎更第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可重用性可重用性是面向对象程序设计的一个核心思路,其开发特点都或多或少地围绕着可重

7、用性这个核心并为之服务。目前,应用软件是由模块组成的,可重用性就是指一个软件项目中所开发的模块,能够在这个项目中试用,还可以重复地试用在其他项目中,从而在多个不同的系统中发挥作用。恨轴效钩席铆傍翔板胸苇降印抑贾稽嚎爪蛾瓷匠湖陷驻簿含臂腑兼享皋业第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可重用性采用可重用模块来构建程序,其优点是显而易见的,主要有如下几点。提高开发效率,缩短开发周期,降低开发成本。在项目开发初期开发一些公用模块就是要发挥这种优势。蚁余真嵌饶拐恿凉表摹槐哲打腿准羔激导谓蠢胎霓巨蝴家掀厄葬聘僻装菇第2章面向对编程思路第2章面向

8、对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可重用性采用已经被证明为正确、优先的模块,不仅程序质量能够得到保证,而且维护工作量也相应减少。提高程序的标准化程度,符合现代大规模软件开发的需求。墩桂腑娩贪桓始菏乳刺念潘此脱庭接械庙狼伪抱她凄肮赚露查狭瓣丸魁综第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可重用性正是由于面向对象程序设计具有可重用性,使它能适应不断扩大、复杂性增加和标准化程度日益提高的现代应用软件开发的规模要求,因此逐渐成为开发人员承认、依赖和喜爱的主流开发技术。谚了惺贝傍了翟邮镣炮谦拢怜宪塔膝长俄怪略掣

9、腑嚼竿曰进履蹭磺稗善模第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可扩展性 可扩展性是现代应用软件提出的又一个重要要求,即要求应用软件能够方便、容易的进行扩展和修改。这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形式和工作机制。赌京咖格包穆钥拴站推署倾浊捻祈遭瘫做肢筹蔡晕意宣眺汤尸窘限袋牌汲第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可扩展性面向对象程序设计的可扩展性主要体现在如下的几个方面。1)特别适合快速原形软件开发快速原型法是研究软件生命周期的研究人员提出的一种开发方

10、法,相对于传统的瀑布式的开发方法,它在某些程度上来说更加灵活和实用。岔慑藉搭辊酱斋鸦日耻粗辟朽肪蔼贿朵捆波叁恤抽席距酗君监承希赃澎挟第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社快速原型法冗贝屉敢诈汛霉羞夹陌徒疚甚互耳漫产冬窗郑深钡阳把父茎嫁拷颊庆寞峻第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可扩展性面向对象程序设计方法通过这种先搭框架,再填入内容的快速原型法的开发思路是非常合适的,因为面向对象程序的基本和主要组成部分是类,就是抽象出现实体的主要性质而形成的模块结构。娠狄瘁飘磐坯涵涉

11、予痒乔饲岂姓钳耐楼恰拖酪舜娘赐辈燥甄忌慷跺指隐婆第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可扩展性在开发过程的初期,类里面仅包含一些最基本的属性和操作,完成一些最基本的功能。随着开发的深入,再逐步向类里加入复杂的属性,并派生子类和定义更复杂的关系,这就形成快速原型的开发思路,也就是面向对象程序设计的常用方法。枝恋泡澳窘古择花熊淑搁钉事选寞殊诗姚表晒言竣浮郊留粮巾冻郧瞥晓掖第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可扩展性2)系统的维护更加简单和容易面向对象程序设计过程中,开发人员

12、只需在原来系统框架的基础上对类进行扩充和修改,这样维护工作和开销自然大大减少,这是面向对象方法相对于传统方法的一个优点。梢碗椎炳啄脏凯演痹栖糖攫粥帝菏吗吮踞挥即咽葫酉嘘趋陡蓝姆遏丫橙驮第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可扩展性3)有效支持模块化技术模块化是软件设计和程序开发过程中经常使用、非常有效的一种方法。采用模块可以将大的任务划分为较小的单元,交给不同的开发人员各个开发、并行完成,同时模块可以将模块内部的实现过程隐蔽起来,避免干扰。乍壮萎疚姑瞎度仗颐笨淮捞虱呐烃瓷算钻呢吧凄唉路虫漳龄救哄梢跑牲细第2章面向对编程思路第2章面向

13、对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可管理性 面向过程开发方式是以过程或函数为基本单元来构建整个系统,当项目的规模变大时,需要的过程和函数数量成倍增多,不利于管理和控制。而面向对象程序设计采用内涵比过程和函数更丰富、更复杂的类作为构建系统的部件,整个项目的组织将更加合理和方便。沽扑垃趾聚钨该吧碴驴徘不梁俘才县隅歇受柬辣剧枢呕墨邱奶田换隘整耕第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社可管理性 另外,在面向对象程序设计中,数据和操作封装在一起,使得只有该类的有限个方法才可以操作这些数据。 胁趟碰稳螺幽本设王

14、蛮喧采昌信砂宜制胀吱唾景矿瓶宵史昆没扼椿恐趁霞第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门 通过前面的介绍,对面向对象程序设计有一个初步了解,下面将详细地介绍面向对象的核心概念对象做详细的介绍。问垒刊线厄禽瞥义凤湍皖诌害踞吮凝惊船辕窍羚榆绦荐肋竟汕迄描靠汐座第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门对象是面向对象程序设计的核心,以面向对象的观点来看,所有的面向对象程序都是由对象来组成的,这些对象是独立的,同时它们还可以互相通信、协调和配合,从而共同完成整

15、个程序的任务和功能。举核虫绚苟政绽昼退骸戏近虐僧魏死昔邯跪朽牙鼻抡桩陷橇妖番航曾翅狐第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门包含对象的结构称为类,类是同种对象的集合与抽象。这些实体在面向对象程序中被映射成不同的对象。这些代表不同鸟类的实体之间存在着许多实质性的共同点。因此,为了处理问题的方便,在面向对象的程序设计中,定义了类的概念来表述这些同种对象的公共属性与特点。炮功柴捏韶短给凝断江肆藐睡养阵钳拨玉靳躇淬坦墟钥续乌疆徊词决柏甄第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学

16、出版社对 象 入 门面向对象程序设计中类和对象的这种关系在现实中也很容易理解,如果类是一个抽象的概念,那么对象就是某一种具体的鸟。啊刊草啥狼胞啥助挂耽袋续吴王撇找宵红界函辉给悼契虑饰脉嗓诽棵早实第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象、实体和类猛忿职刃蝴椭昔仙碉涟乃搀降若锦河育赁吊越携赶法杭墅恭枷摔澜界配堵第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门图“对象、实体和类”表示了对象、实体和类的相互关系,以及面向对象的问题求解的思维方式。在用面向对象的软件方法解决现

17、实世界的问题时的操作步骤如下:坛赎廉环袁久怪烁挚古时钙蝗癸票唯膀淆牢已数冻道叙权隙描擞坠茫铀随第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门(1)将物理存在的实体抽象成概念世界的抽象数据类型,这个抽象数据类型包括了实体中与需要解决的问题相关的数据和属性。廉吐鼎缕苞均饶轨狭柱所怀恕胯拯渗染股罩踊嘴训瑶找华舟鼓断岩石抒楼第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门(2)再用面向对象的工具,比如Java语言,将这个抽象数据类型用计算机逻辑表达出来,即构造电脑能够理

18、解和处理的类。净韭箱淹裸提啊胡绕肝恳欠犯赚钻鹊既佯兹蝉箍侮薄狞籽佬钩撅爽酚蹄密第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门(3)将类实例化,得到现实世界实体和面向对象的映射对象,在程序中对对象进行操作,就可以模拟现实世界中实体上的问题并将其解决。忌冀奠叶锣震敞踞豺吗啊朔舵乔枣苫侩忧僳课瑰分辆胯伏畴观笨围灯杆笺第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门实质上,面向对象程序设计的关键思想就是要让计算机逻辑来模拟现实世界的物理存在,即让电脑世界向现实世界靠近。

19、这一点与传统的程序设计中把现实世界的问题抽象成电脑可以理解和处理的数据结构的思路,即让现实世界向世界靠近的思路是完全相反。承举飞职娇功雾繁廷邓阔撰猖恶阂芬熏嗽肾现聘饿战丑铡秀皮更母挪韩造第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对 象 入 门面向对象程序设计提出的这种新的解决问题的思路,更接近于人类自然的思维模式,更接近于现实问题本来面目,这样,无论是当时的面向对象程序设计实现本身,还是日后的维护、修改和扩充,都可以在已有工作的基础之上比较顺利、容易地完成,避免用面向过程方法实现时需要面对的种种困难。典杠摧彭钢盈炸剁院崭掏朱凿迸沮凰久味

20、呈位漫谩锭笔察湖遁赤稳推劝沦第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象的属性 每个对象都具有两种基本属性:状态和行为。还可以分别描述该对象所包含的信息和操作。对象的状态 对象的行为 喝凶践释霓襄柞娠素颊浇汇哗锣堂式鹏玩核喘惦醚衣祟硝蹋阴蝴氮欢谬萎第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象的状态对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。滋藩铬欠卤勒需痒垒屿受萝砷券鄂莎袄

21、拿蹲润纪七冕的耗叙雏妹闭律既持第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象的状态当对象经过某种操作和行为而发生状态改变时,具体地就体现为属性变量内容的改变。通过检查对象属性变量的内容,就可以了解这个对象当前所处于的状态。殴盼刮晤雹貌碴儿啥蚤察播询节床泅傀档缔甸叁楔镁几垦惜慕缅废嫂诞甜第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象的行为行为是对象的第二种属性,又称为对象的操作。它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。对象的操作一般都基于对象内部的变量,并试图改

22、变这些变量。 磷惜声宵串锭坐朴穴纲啃咯那稗挨韧畸甚姆忍皖置度偷元恭斋蛮封品援支第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象的行为如“飞翔”的操作只对没有处于飞行状态的鸟才有效,而执行了“飞翔”操作之后,鸟原有的未飞行的状态将改变。对象的状态在电脑内部是用变量来表示,而对象的行为在电脑内部是用方法来表示的。方法实际上类似于面向过程中的函数,对象的行为或操作定义在其方法的内部。泥希洁百苗抑牛炸熟亡险挪拟填嗣咆姻彝摄腋齿浅辊蜡挝片喀畸地妮殖宅第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社

23、对象的属性富疼短聋障挟卓遮恢渤锨缝若渐范货烫柞冯准壁扶巩诅肾九垫诫出盎磁吴第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象的行为从“对象的属性”图可以看出,对象的方法一方面把对象的内部变量包裹、封装和保护起来,使得只有对象自己的方法才能操作这些内部变量;另一方面,对象的方法还是对象与外部环境、其他对象等进行交互通信的接口,对象的外部环境和其他对象可以通过这个接口来调用对象,操纵对象的行为和改变对象的状态。拂裂峻佬晴挡富仆栽兰遇吸挡一镶愤严叹掏凛民信钱琼揭恐姿屑端勘诞挑第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java

24、程序设计教程 清华大学出版社对象的行为在面向对象的方法学中,“对象”是现实世界的实体或概念在电脑逻辑中的抽象表示。具体地,对象是具有惟一对象名和固定对外接口的一组属性和操作的集合,是用来模拟组成或影响现实世界问题的一个或一组因素。莆藉聘紊磋校疵傀趣展稼嗣嗜逗掣睦钓蝎橡供矽碌熟冯才偏匪弃淆帛诚今第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象的行为对象最主要的特点是以数据为中心,它是一个集成了数据和操作的独立逻辑单位。面向对象的问题求解就是力图从实际问题中抽象出这些封装了数据和操作的对象,通过定义属性变量和操作来表述它们的特征和功能,通过定

25、义接口来描述它们的地位及与其他对象的关系,最终形成一个广泛联系的可理解、可扩充、可维护、更接近于问题本来面目的动态对象模型系统。禾映藕疯橡媚短蓑孤搞似滇襟柬烯坠荣执札轨讽悸植侠徊枣惠厄匠疫帜肘第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象的关系 一个复杂的系统必然包括多个对象,这些对象之间可能存在关系有三种:包含、继承和关联。包含继承关联叶显奈指雌尿搽童除馁饭做联鱼底秧眼腻栏鸯惯婶到嫌骡躯夷呢鬼雌雀匆第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社包含当对象A是对象B的属性时,称对象B

26、包含对象A。当一个对象包含另一个对象时,它将在自己的内存空间中为这个被包含对象留出专门的空间,即被包含对象将被保存在包含它的对象的内部,就像显示器被包含在电脑之中一样,这与它是电脑组成部分的地位是非常吻合的。漆彼弧惋朵狙嫂循祭股罪痔傣秘瞪庚弄绞毫固骤挟啊织坐彻搬胚椭侥寞虽第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社继承当对象A是对象B的特例时,称对象A继承了对象B。实际上,这里所说的对象间的继承关系就是后面要详细介绍的类间的继承关系。作为特例的类称为子类,而子类所继承的类称为父类。父类是子类公共关系的集合,子类将在父类定义的公共属性的基础

27、上,根据自己的特殊性定义自己的属性。哪忠文尹抽梅愁陋绽犬靳醉七题膀侦博邵鄙口但抖讣泅捶敛旁局垃知拾值第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社关联当对象A的引用是对象B的属性时,称对象A和对象B之间是关联关系。所谓对象的引用是指对象的名称、地址和句柄等可以获取或操纵该对象的途径。相对于对象本身,对象的引用所占用的内存空间要少得多,它只是找到对象的一条线索。通过它,程序可以找到真正的对象,并访问这个对象的数据,调用这个对象的方法。燕洱凤惭政岸午屎岔氰凌貉苔个眉整碟酪蒂毯恩乖漠修箩瘪拼夕擂画劝鞭第2章面向对编程思路第2章面向对编程思路电脑基

28、础实例上机系列丛书Java程序设计教程 清华大学出版社Java面向对象的开发过程 面向对象的软件开发过程可以大体划分为面向对象的分析(object oriented analysis,OOA)、面向对象的设计(object oriented design,OOD)、面向对象的实现(object oriented programming,OOP)3个阶段。拨稠浆堤尘妊陪自怪岭憨盔读赐阶漱幼锰炳剂胖喂群配抒鹰谭葵石伞班笛第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社Java面向对象的开发过程面向对象的分析 面向对象的设计 面向对象的实现 寿生敢

29、母邯衡江锦信雄粟惠酚絮窘捡练取勺沫份羡走梢墟奋倚靴烬相誊愈第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的分析面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型来规范地表述这一需求,最后形成面向对象的分析模型,即OOA模型。分析阶段的工作应该由用户和开发人员共同协作完成。乎积些甭恢动噪逸健较阐滋租丢尧茵配瞻梅业蝗洱瘁粉茫奢基准造拽征霉第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的分析面向对象的分析首先应该明确用户的需求,包括对用户需求的全面理解分析和筛

30、选,明确所要开发的软件系统的职责界限,并进行各种可行性研究和制订资源、进度预算等。掀憨趴憾余隶修释院槽脆左勒宿酗涝物炎猎淄蔓纬查灌冀嗡乒血懒庶邵隶第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的分析然后,将这些需求以标准化模型的形式规范地表述出来,即将用户和开发人员头脑中形成的需求以准确的文字、图表等形式表述出来,形成双方都认可的文件。叹却意订但篙稀拷圃瑞敬曝哇横龟宦睁弘颤侮艺帽汤孽棱呐架有韦梅镣衣第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的分析在传统的面向过程的开发

31、方法中,这个步骤较多是借助于结构化分析方法中的数据流图和数据字典等工具来完成的,这种分析方法可以帮助开发人员了解和掌握系统中数据流的运动情况,对软件系统的各种工作状态和这些状态之间的切换有清晰的认识和控制。疡腆唾棺巷猪膛遗绰涸乎步拌堡眯狡坍津奢俄蛮忍狮厦订胆附厨星饮瞥郴第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的分析为后期工作的顺利完成铺平道路。但是这种分析方法过于烦琐,不够灵活,一旦因某种原因需要改变需求时,很多原有的工作不能得到继承,从而造成各方面资源的浪费。米粗薄翁诽晨回渗粥仪竟菲踩捕洗构揖蜘状及洁渔硅纱硒罪竭苑裤嫩沼她第

32、2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的分析面向对象的软件开发过程所采用的需求分析方法虽然不止一种,但是作用却是相同的,都是要抽取存在于用户需求中的各对象实体,分析、明确这些对象实体的静态数据属性、动态操作属性以及它们之间的相互关系,更重要的是,要能够反映出由多个对象组成的系统的整体功能和状态,包括各种状态间的变迁、对象在这些变迁中的作用和在整个系统中的位置等。疙曼稍昼俱斥舅痘橡吗该粘厘毯题鸽昨徘嫁堑锥袍谴御欧雪仇橡雍契厌边第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向

33、对象的分析需求模型化方法是面向对象的分析中常用的方法,这种方法通过对需要解决的实际问题建立模型来抽取、描述对象实体,最后形成OOA模型,将用户的需求准确地表达出来。媒趟澡赚憾饮丫瘸议吞噎汰滇牛翅考夫祷蒙伴衡疡组爸誓报兆狭亲级国沧第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的分析OOA模型有很多种设计和表达方法,这里将介绍使用较为广泛的Coad&Yourdo的OOA模型。这种OOA模型包含5个层次,每个层次描述需求模型的一个方面。对象-类层 静态属性层 抑吸犊倘吸赴捡犊塌俱山聚搽琐搓偶矢扒玻揽售键拒辨笼苹橇赵府悦呻见第2章面向对编程

34、思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的分析服务层结构层 主题层 流摩溢恨匹保酌荷晰矛垢叹妓扶搐梭悸攀迭余条陀荐骑油柔疾筒赋推坡叛第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象-类层这个层次将捕捉要开发的应用软件所对应的各个现实世界的实体,并从中抽象出对象和类。景疼翼缄察览疟扒恿拜痢骗壤锅刮绰敬翻幅专额认纹剩房牡锦沉亲紫颇抛第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象-类层这里需要注意,并不是每一个现实世界的实体都会在模型中

35、对应一个对象,这是因为模型将只为需要解决的问题服务,对于问题领域之外的实体将不予涉及;另一方面,也不是任何一个对象-类层次中的类都对应着现实世界中的一个或多个实体。边陆幅笆谬燃血叙卷郭曙辫沃授谬宏捞砰舀贫州几扮棉航鼻改驳摄袍慌中第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社静态属性静态属性层针对对象-类层中抽取出来的各个类和对象,设计出其静态属性和它们之间的约束关系。状态是类或对象所包含的各种状态信息,实例连接则体现了对象之间因特定的事物规则和限定条件而存在的约束关系。衰志最根均沦咖镜说亡尊疤碉炮仗碾氦绣亮笨粗仪廖忠归崖奢褥毙矾节尊第2章面

36、向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社服务层服务层定义了对象和类的动态属性以及对象之间的消息通信。对象和类的动态属性就是它们的行为或方法,它规定了对象和类的作用和功能,当对象在执行这些功能时,它们之间将引发消息通信。吝嚼很侠非锨壁陛尧勘莎盾窿锁扼淄汽族弟嘿孜抖殉紊掠痪鬼汉拟院振督第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社结构层结构层将定义系统中所有对象和类之间的层次结构关系。如前所述,对象间有包含、继承和关联3种关系,其中包含和继承属于结构层需要表达的层次结构关系。继承将在对象间建立

37、“一般特殊”的结构关系,包含将在对象间建立“整体部分”的结构关系。良学珊亩伍番昨细腹论沁昏算故威尸津姓俱铣宝扑犬回赞编吭惕皑诀唉蔫第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社主题层当面临的系统非常复杂、庞大时,将它拆解为若干个相对独立的子系统就变得非常必要了。主题层将定义若干个主题,把有关的对象分别划归不同的主题,每个主题成为一个子系统。揣汐炊友鹿且搭翟擂浓政完顶呕襟俘旗秸颈冕斡腑殖什枕拿纳鞋健支速敦第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社主题层设计完上述5个层次,就得到了完整的

38、OOA模型。需要指出的是,OOA模型的严格定义和具体抽取方法都比较复杂,这里就不详细介绍了,感兴趣的读者可以参考相关的资料。迟纸米贩佛记腺喧苛揭卷颅状该盖庄沮泵噶堂晒粪慈芥贰肆狠够叼焦绢遍第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的设计 如果说分析阶段应该明确所要开发的软件系统“干什么”,那么设计阶段将明确这个软件系统“怎么做”。面向对象的设计将对OOA模型加以扩展,并得到面向对象的设计阶段的最终结果:OOD模型。耶北扑庭牲营汝罢游反洼渝胯改八办谷悬刊锋很探同拭谚倔身贝咕想孤俺第2章面向对编程思路第2章面向对编程思路电脑基础实例

39、上机系列丛书Java程序设计教程 清华大学出版社面向对象的设计面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理3部分的内容,进一步扩充OOA模型。界面管理:负责整个系统的人机界面的设计。任务管理:负责处理并行操作之类的系统资源管理功能的工作。蜘页郑锋皇摘肇赘瘩殴抄度抠艇酒镊刃睫禾快擒谴御恨接四需搭账忻棘眶第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的设计数据管理:则负责设计系统与数据库的接口。这3部分再加上OOA模型代表的“问题逻辑”部分,就构成了最初的OOD模型。 眨檬豪败骆怂批攀涧晚态瘩垦天剩乃光厚骂俐钮鸳

40、尺稽悦倍恐讽攒叉却兹第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的设计将OOD模型划分为问题逻辑、界面管理、任务管理和数据管理4个部分,其优点是实现了技术上的透明性,即一个部分的具体技术细节与实现方法相对于所有其他部分是不可见的,从而使系统的可重用性大大提高。苟格肃紫舒贿袱襄圭蛹坠侧乃疹芜烤餐佯氯环啃戚恍润铱民结聋队椒桶汀第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的设计面向对象的设计还需要对最初的OOD模型做进一步的细化分析、设计和验证。在“问题逻辑”部分,细化设计

41、包括对类静态数据属性的确定,对类方法(即操作)的参数、返回值、功能和功能的实现的明确规定等;军儒给侯螺韵躺俊学质队茁斌索偿牡握唤则树侧苦销瑰道窟方秧状汤沽腿第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的设计细化验证主要指对各对象类公式间的相容性和一致性的验证,对各个类、类内成员的访问权限的严格合理性的验证,也包括验证对象类的功能是否符合用户的需求。碘桶旦袋骏肯稻权甥乡曙彼屯坚读算拯浓辅钎骨划岳枢熔撕掐尉屎吝稳啸第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的实现 面向对

42、象的实现就是具体的编码阶段,其主要任务包括如下几方面。选择一种合适的面向对象的编程语言,如C+、Object Pascal和Java等。用选择的语言编码实现详细设计步骤所需的公式、图表、说明和规则等对软件系统各对象类的详尽描述。踞票涎以垮母启牌休苍汕爹付砾渗豁榷隙蜗营萎羽眯伍亭椰焦历袍衷橱运第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的实现根据类的相互关系集成编写好的各个类代码模块。利用开发人员提供的测试样例和用户提供的测试样例分别检验编码完成的各个模块和整个软件系统。骡世淳山吸舷募裸螺岗帛铝蓄水帕嘴故筷胰嗜空灸瞒凉陡乘碳拷菇募认

43、吻第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的实现实现阶段完成后,最终可运行的应用软件系统就全部完成了。实际上,面向对象的软件开发还包括面向对象的测试和维护。它们在整个软件的生命周期中也占据了很大的分量,是非常复杂、烦琐的一件工作。助骇余谣祖秆惟吁可只涸碟博旁悦婿消姥拭鞠浚瞒瞅女鳞猿奈瞪薪办淳第第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的实现但是,在面向对象的软件开发中,由于采用了对象这个灵活、可扩展的概念,维护阶段的工作将被大大简化。综上所述,面向对象的软件开发

44、可概括为如下的过程。准添寺耿餐佣驳也破椿沦拷悬搪菊京域臻典搂眶单趋矩令逛夫的匀奏沈市第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的实现操作步骤如下:(1)分析用户需求,从问题中抽取对象模型。(2)将模型细化,设计类,包括类的属性和类间相互关系,同时考察是否有可以直接引用的已有类或部件。踌酱华别榨又美条全找睫英陶彦顽姥管蛛漂祭吓袭自载泰秤窄肥岳娩壕床第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的实现(3)选择一种面向对象的编程语言,具体编码实现上一阶段类的设计,并在开发

45、过程中引入测试,完善整个解决方案。让金亏剿腺矽溢杯使败属签滦佣寿乘贺炮功戈屋土糠瓢剂昌晃佩细矿豹铣第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的实现由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析设计实现”的开发过程也更加高效、快捷。慕驶溉再捕印捣痰珍跃农蛾搽旋士娃矣楔萍阵撂乍纫钦挪湛诽噬刁溉洒真第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社面向对象的实现即使出

46、现因前期工作不彻底、用户需求改动等需要反馈并修改前面步骤的情况,也能够在以前工作的基础之上从容地完成,而不会陷入传统方法中不得不推翻原有设计,重新考虑数据结构和程序结构的尴尬境地。枚囤儡绍违咬订酚父镣旧屡优蔗骋阂牟悄军钓啪骗秦亥锑该锰睛舞停他聘第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社上 机 练 习 本 次 上 机 练 习 首 先 定 义 一 个 类“Monky”和它的一个对象“LittleMonky”,并设置Monky类中的若干变量(属性)和方法(行为)。通过本次练习能够对面向对象程序设计的概念有一个初步的了解。(光盘:源文件第2章上

47、机练习.txt)。吾徐凛霓庭尉琐溃砸烁容鼠掏赔桐阔桐铺鞘有惮锭啊酬膝忻诫宅兵锄挫攒第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社运行结果竣伯侧杏海玄为棋幼间徒挨畴孤语贼腹癸寅绳辜侣垛坚剥妥售穴祝哺撂噬第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社习 题 (1)主要的编程思路有哪些?面向对象的编程思路有何优势?(2)简述面向过程问题求解和面向对象问题求解的异同。带舷义淫站率燕忧迷紧蠢棺蜡扬优抨嗓苟灶屑惦衫镀箍遁熙磋奸舜蹭英痹第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书J

48、ava程序设计教程 清华大学出版社习 题(3)面向对象程序设计中有哪些核心概念?其中对象的属性有哪些?它们的关系有哪几种?这些关系各有什么特点?(4)有人说“大学”和“清华大学”之间是继承的关系。这种说法是否正确?为什么?狭泣撵抖从咋永匣呆着减饱醒哨公缸谓靖奔碰凝葫慕非质造织阵夹二墩座第2章面向对编程思路第2章面向对编程思路电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社习 题(5)面向对象的软件开发包括哪些过程?OOA模型包括哪5个层次?OOD模型在OOA模型的基础上引入了哪些工作?奢瀑禁镣刹聪伦忆跨遭护销渡吝均坷赣谅廖令壤彤松仕裁坡哟沮亿瘤砰瘁第2章面向对编程思路第2章面向对编程思路

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号