- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
OOA/D
面向对象:
封装变化之物
针对接口编码,而不是对实现
应用程序中的每一个类只有一个改变的理由
类是关于行为与功能的
目的: 使用已被证实的 OO设计原则形成更可维护、更具灵活性以及更易扩展的软件
一、面向对象基本概念
1.1 )对象
对象 是要进行研究的任何事物 。
是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。
1.2 )类
类是具有相同或相似性质的对象的抽象 (对某种类型的对象定义变量和方法的原型) 。
1.3 )类与对象的关系
对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
一个对象所包含的所有数据和代码可以通过类来构造。
1.4 )消息
消息 是对象之间进行通信的一种规格说明 。一般它由三部分组成:接收消息的对象、消息名及实际变元。
对象之间需要相互沟通,沟通的途径就是对象之间收发信息。消息内容包括接收消息的对象的标识,需要调用的函数的标识,以及必要的信息。消息传递的概念使得对现实世界的描述更容易。
1.5
)动态绑定
动态绑定 是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法
。
二、面向对象的特性 / 要素
2.1
)封装 (Encapsulation)
封装 就是 事物抽象为类,把对外接口暴露,将实现和内部数据隐藏
。
2.2
)继承 (Inheritance)
继承 是让某个类型的对象获得另一个类型的对象的特征。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在
一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
2.3
)多态 (Polymorphism)
多态 是指 对象在不同时刻体现为不同类型的能力 。
※多态的形式:
基类继承式多态
接口实现式多态
;.
.
三、面向对象与面向过程有什么区别?
一个核心区别是: 如何分配职责 。
过程式是一系列命令和函数的连续调用,依赖贯穿整个项目;
面向对象则将职责分配到专门的对象中,尽量减少依赖。
四、 面向对象分析与设计基本概念
4.1 )什么是分析 (analysis) ?
分析 是对问题和需求的调查研究 。
4.2 )什么是设计 (design) ?
设计 是定义系统组成并组织组件间关系的过程 。
设计师满足需求的概念上的解决方案(在软件方面和硬件方面)
※分析和设计可以概括为: (分析是)做正确的事和(设计是)做正确的事
4.3
)面向对象分析
在面向 对象分析 ( object-oriented analysis
)过程中, 强调在问题领域内发现和描述对象(或概念) 。
4.4
)面向对象设计
在面向 对象设计 ( object-oriented
design ,简称对象设计)过程中,
强调 定义软件对象以及它们如何协作以实现
需求 。
4.5
)职责 :引起类变化的原因 。
4.6
)内聚 :一个模块内部各成分之间相关联程度的度量。
4.7
)耦合 :类依赖其他类
4.8
)正交 :将职责相关的组件紧紧组合在一起,与外部系统环境隔开,保持独立
。
五、 OOA基本步骤
在用 OOA具体地分析一个事物时,大致上遵循如下五个基本步骤:
第一步, 确定对象和类 。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。
第二步, 确定结构 ( structure )。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化 - 特化关系,
整体 - 部分结构反映整体和局部之间的关系。
第三步, 确定主题 ( subject )。主题是指事物的总体概貌和总体分析模型。
第四步, 确定属性 ( attribute )。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并
在对象的存储中指定。
第五步, 确定方法 ( method)。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们
是要在对象的存储中定义的,但并不在图上给出) ,而有些则是显示的。
五、 面向对象设计原则
设计模式源自面向对象原则。
6.1 )单一职责原则 (SRP)
※ 一个类,只有一个引起它变化的原因。
;.
.
6.2 )开放 - 封闭原则 (OCP)
※ 软件实体应该是 ( 对外 ) 可扩展,(对内) 不可修改 。也就是说,对扩展是开放的,而对修改是封闭的。
※ 对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况
原创力文档


文档评论(0)