1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四.对象概述 ⒈现实世界中的对象 客观存在的、可被感知的、有独立性状的实体都是对象,如汽车、空气、数据库、操作系统等。 ⒉面向对象(Object Oriented)概念的起源 ·60年代中期由两名挪威人Dahl和Nygaard首创; ·1967年推出simulation语言(至今仍在使用); ·基本思路是将物理模型转变为软件模型; ⒊面向对象理论体系的发展 ①70~80年代中期出现了沉寂; ②80年代中后期到90年代初涌现出15种不同的理论方法; ·1989~1991,Sally Shlaer和Steve Mellor出了两本关于OO分析与设计的书; ·1987年,David Harel引入了状态图,用以描述系统或子系统有限状态的变化过程; ·1991~1995,Peter Coad和Ed Yourdon经过研究,开发出了较为简捷的面向原型的分析方法; ·1990年Smalltalk协会开发出了一种称为CRC(Class Responsibility Collaboration)卡的工具用于对象模型的分析过程; ·1991年Jim Rumbaugh小组对象的OMT(Object Modeling Technique)模型,后经Grady Booch作了进一步的完善(主要是符号体系和术语)成为目前公认的最实用化的OO模型; ·几乎在同一年,Ivar Jacobson(当时在为Ericsson服务)为OMT引入了Use Case的概念,成为了后来的国际标准UML(Unified Modeling Language)的基础; ·1997年由Grady Booch, James Rumbaugh和Ivar Jacobson三位著名的面向对象技术方法学者推出了今天的国际标准UML; ·下图是面向对象模型理论发展的历程图: ⒋对象的模型化 ①认识属性(Attribute) 对象内凡是可以描述自身状态、性质的数据名称与数值的总和称为属性。例如一个阀门应当有流量、材质、大小、压力等数据名称。又如骰子应有点数、形状、颜色等反映其性状的数据名称。从时序过程上来看,某各时刻的属性数值的组合就形成了对象的某个特定状态(Stat)。在对象的属性当中必须存在至少一个用来标识自身用以区别相同结构对象的元素,被称为特征项(Identity)。 例:设(如下图)一个学校内有两位同名的J Clark教授,生日相同且都教生物学课程,设想他们各自的特征项应当有哪些可能? ②认识方法(Method) 对象在外部激励下而产生的可以改变其部分或全部属性值的动作行为(Behavior)的总和称为方法。对象的方法可以是单独的、分立的动作,也可以是合成的、并发的一个过程。如阀门的开和关,骰子的投掷等。从这个意义上讲,对象一定要有至少一个行为才能改变其属性值。对象的行为有主动与被动只分,直接改变自身属性值为被动行为,通过访问其他对象的方法而改变自身属性值或引起被访问对象的属性值发生改变为主动行为(被访问的对象的属性值可能也会跟随的发生改变)。 ③封装(Encapsulation) 当对象含有完整的属性和与之相对应的方法时,则称为封装。这样的对象可以用一种被称为“甜甜圈”的图形表示: 由此可得出两个推论: ·从对象的外面不能直接访问对象的属性,而要通过对象的方法才能实现; ·对象的方法可以接收来自对象以外的信息; 换言之,客户端访问对象是通过对象接口来进行的,对象的内部结构对访问方是不可见的。 ④消息(Message) 促使对象动作的来自外界的触发信息的总和被称为消息。消息包含四个基本要素: ·接收消息的对象标识; ·接收消息的对象的方法标识; ·可能含有接收消息的对象的方法所需的参数; ·可能含有由接收消息的对象的方法提供的返回信息; 在对象系统中消息必然将两个对象联系在一起。此时,称发出消息的一方为客户;接收消息的一方为服务器。因而,消息便构成了客户/服务器关系结构。 例:试用对象与消息的概念解释C语句“double d=0;”的含义。 解:d是一个变量,具有存储值的属性和等于的方法,当外界发来消息且携带参数0时可用下图表述: 试用同理解释C语句“d+=2.5;”的含义 ⑤对象的抽象(Abstract)与类(Class) 提取多个对象内的相同结构特征的结果的总和被称为对象的抽象。在一个由对象构成的系统中会大量存在基本结构相同仅属性的具体数值不同的一类对象。因此最好用能够描述这种对象基本结构一种抽象形式来代替,以使系统的构造清晰易懂。于是把这种对象的抽象形式称之为类。则类便具有以下的两个突出的要素: ·类是对象的属性、方法、关系(Relationships)和语义(Semantics)的抽象结构描述体,工程上又常被叫做模板(Template); ·当提供具体的属性数值后便可用

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档