- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章面向对象方法学.ppt
第七章 面向对象方法学 7.1 传统方法学的缺点 7.2 面向对象的基本概念 7.3 对象模型 7.4 动态模型 7.5 功能模型 7.1 传统方法学的缺点 结构化及其他方法学的本质,是在具体的软件开发工作开始之前,通过需求分析预先定义软件需求。结构化及其他方法学部分地缓解了软件危机,对软件开发工程化起了重要的促进作用。 结构化及其他方法学并不能完全消除软件危机。结构化及其他方法学仍然有许多不足之处。对某些类型的软件开发,这种方法学比较适用。对另一些类型的软件则可能完全不适用。 7.1.1 问题的表现 生产效率低率 生命周期方法学中强调采用先进的结构分析、设计、编程技术和软件工具的技术方法不能满足软件的需要量急剧增长。 不能满足用户需要 软件复用程度很低 结构分析、结构设计和结构程序设计技术开发软件时,几乎每一次开发一个新系统时都要针对这个具体的系统做大量重复繁琐的劳动。 软件仍然很难维护 实践的经验告诉我们,即使是用生命周期方法学开发出的软件,维护起来仍然相当困难,软件维护成本仍然很高。 7.1.2 问题的原因 结构化技术本身的问题 预先定义的需求可能是过时 语言鸿沟 系统需求的模糊性 7.2 面向对象的基本概念 7.2.1 对象(object) 对象是实现世界中一个实际存在的事物,它可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。 对象的定义: 对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。 对象有如下一些基本特点: 以数据为中心。 对象是主动的。 实现了数据封装。 本质上具有并行性。 模块独立性好。 7.2.2 类(class) 类的定义: 类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。 图7.2 类与对象的关系 类与对象的关系如同一个模具与用这个模具铸造出来的铸件之间的关系。他们的关系可以用图7.2表示。 7.2.3 继承(inheritance) 继承是面向对象中的重要概念,在软件实现中的重要手段。并且是面向对象技术可提高软件开发效率的重要原因之一。 特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。 一个特殊类既有自己新定义的属性和服务,又有从它的一般类中继承下来的属性与服务。 继承的实现是通过面向对象系统的继承机制来保证的。 继承关系具有传递性。 一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这种继承模式叫作多继承。 7.2.4封装(encapsulation) 封装就是把对象的属性服务结合成为一个独立的系统单位,并尽可能隐蔽对象的内部细节。 封装是一种信息隐蔽技术。封装是面向对象方法的一个重要原则。它有两个涵义: 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位。 尽可能隐蔽对象的内部细节,只保留有限的对外接口使之与外部发生联系。 封装是一种机制,封装的信息隐蔽作用反映了事物的相对独立性。 封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效地避免了外部错误对它的“交叉感染”,使软件错误能够局部化。 封装是面向对象方法的一个原则,也是面向对象技术必须提供的一种机制。例如在面向对象的语言中,要求把属性和服务结合起来定义成一个程序单位,并通过编译系统保证对象的外部不能直接存取对象的属性或调用它的内部服务。这种机制就叫作封装机制。 强调严格的封装,则对象的任何属性都不允许外部直接存取,因此就要增加许多没有其它服务意义,而仅负责读或写的服务。这为编程工作增加了负担。 所以我们在用面向对象进行编写程序时,总会觉得程序显得臃肿。为了避免这一点,语言往往采取一种比较现实的灵活态度–––允许对象有不同程度的可见性。 7.2.5消息(message) 对象是一个独立的单位,它通过对外提供的服务在系统中发挥作用。而只有当系统中的其它对象向它请求某个服务时,它就响应这个请求,才能体现其作用。 面向对象方法中将这种向对象发出的服务请求称作消息。 面向对象方法的另一个原则是通过消息进行对象之间的通信。它与封装的的原则有密切的关系。封装使对象成为互不干扰的独立单位;而消息通信则为它们提供合法动态联系途径,使它们互相配合构成一个系统。 面向对象方法中对消息的定义: 消息就是向对象发出的服务请求,它应该含有下述信息:提供服务的对象标识、服务标识、输入信息和回答信息。 7.2.6结构与连
原创力文档


文档评论(0)