UML
UML
总是记不住 UML 那些图例呀,每次要画 UML 图了,就得再上网找一番,索性自己整理一下好了,方便以后查阅。
访问修饰符表示
成员变量以及方法前的访问修饰符用符号来表示:
+
表示public
-
表示private
#
表示protected
类之间的关系
各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
泛化关系
泛化关系表现为继承非抽象类,也就是 is-a
的关系,e.g.:汽车在现实中有实现,可用汽车定义具体的对象;汽车与 SUV 之间为泛化关系,用一条带空心箭头的直线表示,如下图表示:SUV 继承自汽车,SUV 也是一种汽车。
关联关系默认不强调方向,使用普通直线,表示对象间相互知道;如果特别强调方向,可以用带箭头的直线。如下图,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。
### 依赖关系 与关联关系不同的是,依赖关系是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化,依赖关系也可能发生变化。依赖也有方向,双向依赖是一种非常糟糕的结构,应该总是保持单向依赖,杜绝双向依赖的产生。在最终代码中,依赖关系体现为类构造方法及类方法的传入参数,箭头的指向为调用关系。依赖关系除了临时知道对方外,还“使用”对方的方法和属性。
依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。例如程序员依赖电脑工作。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Annie's Blog!