面向对象方法学导论

面向对象方法学导论

ID:27562411

大小:987.51 KB

页数:64页

时间:2018-12-04

面向对象方法学导论_第1页
面向对象方法学导论_第2页
面向对象方法学导论_第3页
面向对象方法学导论_第4页
面向对象方法学导论_第5页
资源描述:

《面向对象方法学导论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章面向对象方法学引论本章概要传统的软件工程方法学曾经给软件产业带来巨大进步,部分地缓解了软件危机,使用这种方法学开发的许多中、小规模软件项目都获得了成功。但是,人们也注意到当把这种方法学应用于大型软件产品的开发时,似乎很少取得成功。在20世纪60年代后期出现的面向对象编程语言Simula-67中首次引入了类和对象的概念,自20世纪80年代中期起,人们开始注重面向对象分析和设计的研究,逐步形成了面向对象方法学。到了20世纪90年代,面向对象方法学已经成为人们在开发软件时首选的范型。面向对象技术已成为当前最好的软件开发技术。2.1面向对象方法学概述2.1.1面向对

2、象方法学导论○面向过程程序设计:根据计算机的要求,围绕算法进行程序设计。开发软件的方法与过程不同于人类认识世界解决问题时习惯采用的方法与过程,因此使得描述问题的问题空间与实现解法的解空间在结构上明显不同。人类习惯的解决问题的方法让我们观察一个日常生活中常见的事例:一位厨师的头发长了需要理发,他会走进理发馆,告诉理发师要理什么发式。也就是说,为了解决头发过长的问题,厨师只需向理发师提出要求,告诉他“做什么”(即,理什么发式),并不需要告诉理发师“怎样做”,理发师自己知道第一步做什么,第二步做什么。类似地,理发师肚子饿了,只需走进餐馆点好自己要吃的饭菜,厨师自己知道该

3、怎样做,并不需要顾客告诉他做菜的具体步骤,事实上,顾客无需知道做菜的具体步骤。面向对象程序设计方法模拟人类习惯的解题方法,用对象分解取代功能分解,也就是把程序分解成许多对象,不同对象之间通过发消息向对方提出服务要求,接受消息的对象主动完成指定功能,程序中的所有对象分工协作,共同完成整个程序的功能。面向对象程序设计方法模拟人类习惯2.1.2面向对象方法概述面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称求解域)在结构上

4、尽可能一致。面向对象方法具有下述4个要点:⑴认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。⑵把所有对象都划分成各种对象类(简称为类,Class),每个对象类都定义了一组数据和一组方法。⑶按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。⑷对象彼此之间仅能通过传递消息互相联系。2.1.3面向对象方法的主要优点⑴与人类习惯的思维方法比较一致面向对象方法学的基本原则是按照人们习惯的思维方式建成立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。面向对

5、象的软件系统中广泛使用的对象,是对客观世界中实体的抽象。⑵稳定性好面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。它的基本作法是用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。因此,以对象为中心构造的软件系统也是比较稳定的。⑶可重用性好面向对象的软件技术在利用可重用的软件成分构造新的软件系统时,有很大的灵活性。其中,有两种方法可以重复使用一个对象类:一种方法是创建该类的实例,从而直接使用它;另一种方法是从它派生出一个满足当前需要的新类。⑷较易开发大型软件产品⑸可维护性好⑹面向对象还有如下突出优点:①面向对象软件稳定性比较好;②面向对象

6、的软件比较容易修改;③面向对象的软件比较容易理解;④易于测试和调试。2.1.4喷泉模型喷泉模型体现了面向对象方法所固有的迭代和无间隙的特征。迭代是软件开发过程中普遍存在的一种内在属性。即,软件开发活动需多次重复,每次重复都从分析开始,依次进行设计、实现,逐渐细化,演化出最终系统。图2.1喷泉模型2.2面向对象的概念2.2.1对象在应用领域中有意义的,与所要解决的问题有关系的任何事物都可以作为对象(Object),它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。例如,一名职工、一家公司、一个窗口、一座图书馆、一本图书、贷款、借款

7、等等,都可以作为一个对象。总之,对象是对问题域中某个实体的抽象,设立某个对象就反映了软件系统具有保存有关它的信息并且与它进行交互的能力。面向对象方法学中的对象:是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。对象可以作的操作表示它的动态行为,通常称为服务或方法。对象的形象表示(举例)一个对象很像一台录音机。当在软件中使用一个对象的时候,只能通过对象与外界的界面来操作它。对象与外界的界面也就是该对象向公众开放的操作,例如,C++语言中对象的公有的(Public)成员函数。一个对象好象是一个黑盒子,表示它内部状态的数据和实现各个操作的代

8、码及局部数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。