设计模式之入门
来源:互联网 发布:head first for java 编辑:程序博客网 时间:2024/06/08 05:02
UML类图符号:
1、泛化(继承):
【箭头指向】:带三角箭头的实线,表示继承一个基类,B类继承A类。
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化
父类的所有特征和行为。
【泛化例子】:老虎是动物的一种,既有老虎的特性也有动物的共性。
类图分为三层,第一层为类名,如果是抽象类,则用斜体表示;第二层是类的字段和
属性,第三层是类的操作,通常是方法;前面的+表示public,-表示private,#表示protected
2、实现(两种表示方法):
使用两层矩形框表示,与类图的区别主要是顶端有<<interface>>显示。第一行是接口名称,第二行是接口方法。
【箭头指向】:带三角箭头的虚线,箭头指向接口,表示C类实现接口的定义。
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
3、关联
【箭头指向】:带普通箭头的实线,指向被拥有者。
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的特征和行为,关联分
为单项关联和双向关联两种;双向关联可以用俩头带箭头的实现表示,也可以不要
箭头。
【3.1】、单向关联:仅能从一个类访问到另一个类(前者的属性中有后者),B类单
项关联A类(B中有属性a为类A的对象);如:学生与课程的单向关联。
【3.2】、双向关联:两个类之间能相互访问(两个类的属性中都有对方),B类关联
A类(B中有属性a为类A的对象),A类关联B类(A中有属性bs为Set,Set包含B的
对象),A和B是1对n(n>0)的关联;如老师与学生的双向关联。
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的特征和行为,关联分
为单项关联和双向关联两种;双向关联可以用俩头带箭头的实现表示,也可以不要
箭头。
【3.1】、单向关联:仅能从一个类访问到另一个类(前者的属性中有后者),B类单
项关联A类(B中有属性a为类A的对象);如:学生与课程的单向关联。
【3.2】、双向关联:两个类之间能相互访问(两个类的属性中都有对方),B类关联
A类(B中有属性a为类A的对象),A类关联B类(A中有属性bs为Set,Set包含B的
对象),A和B是1对n(n>0)的关联;如老师与学生的双向关联。
4、聚合:
【箭头方向】:带空心菱形的实线,菱形指向整体;
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。
5、组合:
【箭头方向】:带实心菱形的实线,菱形指向整体;
【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。
【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。
6、依赖:
【箭头指向】:带箭头的虚线,指向被使用者。
【依赖关系】:是一种使用关系,表示类之间的调用关系,即一个类的实现需要
另一个类的协助,所以尽量不使用互相依赖。
各种关系的强弱顺序:泛化 == 实现 > 组合 > 聚合 > 关联 > 依赖
阅读全文
0 0
- 设计模式之入门
- 设计模式入门之三
- 设计模式入门之四
- 设计模式学习笔记之设计入门
- 设计模式入门学习之工厂模式
- 设计模式入门学习之适配器模式
- 设计模式入门之简单工厂模式
- 设计模式入门之适配器模式Adapter
- 设计模式入门之生成器模式
- 设计模式入门之抽象工厂模式
- 设计模式入门之原型模式Prototype
- 设计模式入门之代理模式Proxy
- 设计模式入门之观察者模式Observer
- 设计模式入门之命令模式Command
- 设计模式入门之迭代器模式Iterator
- 设计模式入门之策略模式Strategy
- 设计模式入门之状态模式State
- 设计模式入门之备忘录模式Memento
- 8 非负矩阵分解(NMF) 降维方法
- 测试进阶-测试环境部署
- 消息队列
- 模拟ATM取款机的三次密码校验,当天达到3次输入密码错误, 则提示“账号被冻结”,其他情况则提示还有多少次输入机会
- C语言二维数组Array[][]
- 设计模式之入门
- 测试进阶-测试环境维护
- 线程池
- 关于java学习和三层
- Linux简单小程序---进度条
- python flask中动态URL规则
- swift中KVO简单使用,监听属性值改变
- 3D绘图
- 文章标题