OO与UML
总阅读次
OO与UML
OO(Object Orientation)面向对象是一种系统建模技术。
UML统一建模语言
OOP的主要特征
抽象
忽略掉一个对象或实体的细节而只关注其本质特征的过程
封装
隐藏数据和实现,提供公共方法供用户调用
继承
通过存在类型定义新类型的机制,通常两个类之间存在”is a”或”kind of”的关系
多态
一个名称,多种形式
关联
对象之间交互时的一种引用方式,一个对象通过另一个对象的引用去使用该对象的服务或操作时,两个对象之间便产生了关联
聚合
关联关系的一种,一个对象成为另外一个对象的组成部分,是一种较强的关联,两个对象可以独立存在,两个对象存在”has a”这样的关系,一个对象作为另一个对象的属性存在,在外部对象被生成时,可由客户端指定与其关联的内部对象
组合
当一个对象包含另一个对象时,外部对象负责管理内部对象的生命周期,关联关系中最为强烈的一种,内部对象的创建由外部对象自己控制,外部对象不存在时,内部对象也不能存在
内聚与耦合
- 内聚:度量一个类独立完成某项工作的能力
- 耦合:度量系统内部或系统之间依赖关系的复杂度
- 设计原则:增加内聚,减少耦合
时序图
捕捉一段时间范围内多个对象之间交互信息,强调消息交互的时间顺序。
创建时序图
这里通过StartUML工具创建时序图,官网是:http://staruml.io/
时序图主要由Object、TimeLine(时间线)、Stimulus(调用关系)或SelfStimulus(T自调用)组成,下面是一个简单的例子:
该时序图表示:ObjectA调用ObjectB的method1()方法,在ObjectB的method1()方法中再次调用了ObjectC的method2()方法,并在调用完method2()方法后ObjectB还调用自身的method3()方法,然后返回。