对象之间的关系
客子久不到,好景为君留。西楼着意吟赏,何必问更筹?唤起一天明月,照我满怀冰雪,浩荡百川流。鲸饮未吞海,剑气已横秋。
野光浮,天宇迥,物华幽。中州遗恨,不知今夜几人愁?谁念英雄老矣?不道功名蕞尔,决策尚悠悠。此事费分说,来日且扶头!
依赖关系
如果一个类A使用到了另一个类B,则这两个类具有依赖关系。例如A的方法的形参中存在B类、A的方法的返回值是B、A的方法中有B的局部变量或B的静态方法调用等。
1 | // 学生类 |
学生类的方法中使用到了课程类作为参数,这两个类具有依赖关系,可以用类图表示如下
classDiagram class Student Student: -string name Student: -integer id Student: +study(course) class Course Course: -string name Student ..> Course
关联关系
如果类A中有成员变量的类型是类B,则这两个类具有关联关系。如果类A中有成员变量类B,同时类B中也有成员变量类A,那么这两个类具有双向关联关系。
1 | // 汽车类 |
classDiagram class Car Car: -Engine engine Car: +drive() class Engine Engine: -string power Engine: +start() Car --> Engine
聚合关系
聚合关系中,对象A拥有一组对象B,并扮演着容器或者是集合的角色。比如学校和学生的关系。
classDiagram class School class Student School o-- Student
组合关系
组合关系与聚合关系类似,但组合关系中,对象B不能够脱离对象A而单独存在。例如,大学中有很多的院系,而这些院系不能够脱离大学而独自存在,因此,这两者是组合关系。
classDiagram class 大学 class 院系 大学 *-- 院系
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 邱维东!
评论