在讲程序设计模式之前,我先讲一下uml类图,以便初学者更好的理解常见的程序设计模式,如工厂模式,适配器模式,迭代器模式等等。
表示类
一份典型的uml类图通常由几个块,框,连接线以及文本组合而成。
在uml类图中表示一个类的方法如下所示,
如果表示抽象类,则类名用斜体字表示
如果表示接口,则在类名上方加上<interface>
“+”表示 public
;
“-”表示 private
;
“#”表示 protected
;
表示类与类,类与接口之间的关系
在UML类图中,用连线指明它们之间的关系。
关系共有六种类型,分别是实现关系、泛化关系、关联关系、依赖关系、聚合关系、组合关系。
注意:聚合关系、组合关系是关联关系的一种
关系 | 符号 | 说明 |
泛化关系 | —▷ | 表示子类继承于父类,箭头后面是父类 |
实现关系 | ---▷ | 声明与实现之间的关系,箭头是实现 |
关联关系 | —> | 一个类知道另一个类的属性,表现为一个对象含有另一个对象的引用或者一个对象作为另一个对象的数据成员,箭头后是被使用者 |
依赖关系 | ---> | 一个类使用一个类,箭头后是被使用者,代码表现形式为B为A的构造器或方法中的局部变量、方法或构造器的参数、方法的返回值,或者A调用B的静态方法。如人和汽车 |
组合关系 | <--◆ | 部分与整体,可以割裂,箭头方向是整体 |
聚合关系 | <—◇ | 部分与整体,不可以割裂,箭头方向是整体 |