- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章面向对象方法学引论;问题:
? 生产率发展缓慢 社会需求
? 软件重用程度低
? 软件难于维护
? 软件不能满足用户的需要
(不一致+不稳定);传统软件工程方法学,软件的生命周期为:
? 陈述需求阶段;
? 规格说明阶段;
? 设计阶段;
? 实现阶段;
? 维护阶段。
面向对象方法学,软件的生命周期为:
? 陈述需求阶段;
? 面向对象分析阶段;
? 面向对象设计阶段;
? 面向对象实现阶段;
? 维护阶段。;面向对象方法的出发点:
? 尽可能地模拟人的思维方式去解决问题
以对象为中心:
特殊 –〉 归纳 -〉一般 - 〉演绎 -〉特殊
? 问题空间与解空间的矛盾
客观世界的动态特性—解空间的复杂算法
运动与实体的统一 —解空间程序与数据的分离;面向对象方法学的要点:
? 客观世界都是由对象组成的。
? 所有的对象都可以划分为抽象的类。
? 可按照子类与父类的关系组成类的层次结构。
? 对象彼此间通过传递消息互相联系。;Coad Yourdon的定义(1991):
OO=objects+classes+inheritance
+communication with messages
面向对象方法:使用对象又使用类和继承机制,而且对象之间仅能通过传递消息实现彼此通信。
基于对象方法:使用 对象+消息。
基于类的方法:使用 对象+消息+类。;面向对象方法学的优点:
? 与人类习惯的思维方法一致;
? 系统稳定性好;
? 可重用性好;
? 较易开发大型软件产品;
? 可维护性好。;(1)与人类习惯的思维方法一致
传统的程序设计技术:
以算法为核心,数据和过程相分离。
面向对象的软件技术:
以对象为核心。对象是封装了描述内部状态表示静态属性的数据及这些对数据施加的操作。;(2)系统稳定性好
传统的程序设计技术:
开发过程基于功能分析和功能分解,建立起来的软件结构紧密依赖系统功能,需求变化时引起软件结构的整体修改,因此软件系统不稳定。
面向对象的软件技术:
以对象为核心构造软件系统。对系统功能需求变化时不会引起软件结构的整体变化,仅需做一些局部性修改,软件系统稳定性较??。;(3)可重用性好
传统的程序设计技术:
具有功能内聚性的模块,且其完成一个且只完成一个相对独立的子功能,则该模块是理想的可重用模块。
面向对象的软件技术:
对象具有自含性、封装性和信息隐藏机制,使得对象内部与外界隔离,具有较强的独立性,对象是比较理想的模块和可重用的软件成分。;
思考:重用与重构的区别;(4)较易开发大型软件产品
大型软件产品可分解成一系列相互独立的小产品来处理,降低了开发难度,同时开发管理变得很容易。;(5)可维护性好
? 面向对象的软件稳定性比较好;
? 面向对象的软件比较容易修改;
? 面向对象的软件比较容易理解;
? 易于测试和调试。;概念
对象(object): 一个包含数据结构和施加其上的操作的封装体。
类(class): 对具有相同属性和行为的一个或多个对象的描述。
? 类中定义的数据(实体的性质),称为属性(Attribute)
? 类中的操作(服务),称为方法(Method)
实例(instance): 某个特定的类所描述的一个具体对象。
类是支持继承的抽象数据类型,对象是类的实例。 ;9.1 基本概念;练习:
1.分析下列对象之间的关系
家具、沙发、衣柜、电视柜
服装、衬衣,裤子
家用电器、电视、DVD机、组合音响
2.为什么说夏利牌汽车是小汽车类的特化,而发动机不是小汽车类的特化?;消息(message):消息是对象间交互的手段,消息刺激接收对象产生某种行为。
消息的构成:接收消息的对象;消息名;若干变元。
— MyCircle.Show(GREEN)
方法(method): 对象所能执行的操作,即类中定义的服务。—Show(int color)给出成员函数的实现代码
属性(attribute): 对客观世界实体所具有的性质的抽象。;封装(encapsulation): 又称信息隐藏。用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的。封装的目的是将对象的使用者与设计者分开。封装有效的实现了模块化。
对象封装性的条件:
? 有一个清晰的边界;
? 有确定的接口;
? 受保护的内部实现。;继承(inheritance): 能够直接获得已有的性质和特征,而不必重复定
文档评论(0)