第9-10章-OOA课件.pptVIP

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象方法学与 面向对象分析 一、面向对象方法学 面向对象方法学概述 面向对象的相关概念 面向对象建模 三种模型及其图示化 对象模型 动态模型 功能模型 1、面向对象方法学概述 基本原则:尽可能模拟人类习惯的思维方式,使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致 传统语言提供的解空间对象实质上却仅是描述实体属性的数据,必须在程序中从外部对它施加操作才能模拟它的行为 面向对象方法是一种以数据或信息为主线,把数据和处理相结合的方法 面向对象方法把对象作为由数据及可以施加在这些数据上的操作所构成的统一体 面向对象方法学概述(续1) 面向对象方法把程序看作是相互协作而又彼此独立的对象的集合;在许多系统中解空间对象都可以直接模拟问题空间的对象,解空间与问题空间的结构十分一致;减少“语义断层” 面向对象方法具有4个要点: 客观世界是由各种对象组成,对象分解取代功能分解 把所有对象都划分成各种对象类:数据和操作共享 继承:按照子类与父类的关系,把若干个对象类组成一个层次结构的系统 对象彼此之间仅能通过传递消息互相联系;封装 面向对象方法学概述(续2) OO=objects+classes+inheritance+communication with messages 面向对象就是:既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信 优点: 与人类习惯的思维方法一致 稳定性好 可重用性好 较易开发大型软件产品;可维护性好 2、面向对象的相关概念 对象:描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体 类:具有相同数据和相同操作的一组相似对象的定义 实例:由某个特定的类所描述的一个具体的对象 消息:要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明 方法:对象所能执行的操作,也就是类中所定义的服务(C++中成员函数) 面向对象的相关概念(续) 属性:类中所定义的数据,它是对客观世界实体所具有的性质的抽象(C++中数据成员) 封装:使用一个对象的时候,只需知道它向外界提供的接口形式,无须知道它的具体实现 继承:子类自动地共享基类中定义的数据和方法的机制;单继承、多重继承、同名屏蔽 多态性:在类等级的不同层次中可以共享一个行为的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为 重载:当参数特征不同或被操作数的类型不同时,实现函数的算法或运算符的语义是不相同的;函数重载、运算符重载 3、面向对象建模 建立问题模型:为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述 通常模型由一组图示符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的术语和概念 建模过程:系统分析员从不同角度抽象出目标系统的特性,使用精确的表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型 面向对象建模(续1) 用OO方法开发软件的关键:是对问题域的理解 通常需要建立3种形式的模型: 对象模型:描述系统数据结构 动态模型:描述系统控制结构 功能模型:描述系统功能 一个典型的软件系统组合了上述3方面内容:它使用数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型) 面向对象建模(续2) 用面向对象方法开发软件,在任何情况下,对象模型始终都是最重要、最基本、最核心的 在整个开发过程中,3种模型一直都在发展完善: OOA阶段:构造出完全独立于实现的应用域模型 OOD阶段:把求解域的结构逐渐加入到模型中 OOP阶段:把应用域和求解域的结构都编成程序代码,并进行严格的测试验证 4、对象模型 对象模型是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构 在建立对象模型时,我们的目标是从客观世界中提炼出对具体应用有价值的概念 需要用适当的建模语言来表达模型:图示符号 UML:统一建模语言,1997年OMG规定 通常使用UML提供的类图来建立对象模型 (1)类图的基本符号 类图描述类及类与类之间的静态关系 1)定义类 UML中类的图形符号为长方形,用两条横线把长方形分成上、中、下3个区域(分别放类的名字、属性和服务 类命名原则:使用标准术语; 使用具有确切含义的名词; 简洁的而且无二义性的 类图的基本符号(续1) 2)定义属性 UML语法:可见性 属性名:类型名=初值{性质串} 可见性有三种:公有的(public)、私有的(private)和保护的(protected),分别用加号(+)、减号(-)和井号(#)表示;没有默认的可见性 类型名表示该属性的数据类型:基本或自定义 初值作为创建实例时该属性的默认值 性质串列出该属性

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档