美文网首页
看懂UML类图

看懂UML类图

作者: 星颖_8995 | 来源:发表于2018-03-16 08:46 被阅读0次

    1. 车的类图结构为<<abstract>>,表示车是一个抽象类;

    2. 它有两个继承实现类:小汽车与自行车,使用带空心箭头的虚线表示;

    3. 小汽车与SUV之间是继承泛化关系,使用带空心箭头的实线表示;

    4. 小汽车与轮胎/发动机之间是组合关系,使用带菱形实心箭头的实线表示;

    5. 学生与班级之间是聚合关系,使用带菱形空心箭头的实线表示;

    6. 学生与身份证之间是关联关系,使用一根实线表示;

    学生上学需要用到自行车,与自行车是一张依赖关系,使用带箭头的虚线表示。

    类之间的关系


    1. 继承关系(泛化与实现)

    类的继承关系表现在UML图中为:泛化与实现

    实现表现为继承抽象类,用一条带空心箭头的虚线表示(小汽车继承自车);

    泛化表现为继承非抽象类,用一条空闲箭头的直线表示(A继承自B);

    2. 聚合关系/组合关系

    聚合关系表示实体对象间整体与部分的含义,用带空心菱形箭头的直线表示(B由A组成); 

    代码体现:成员变量

    组合关系也表示实体对象间整体与部分的含义,用带实心的菱形箭头表示(B由A组成); 

    代码体现:成员变量

    区别:聚合关系的整体和部分不是强依赖的,组合关系的整体和部分是强依赖的。组合关系的整体如果不存在了,部分也就不存在了,但聚合关系不一定。

    3. 关联关系

    表示类与对象之间的结构关系,是一种静态关系,与运行状态无关,用一条直线表示;

    代码体现:成员变量

    关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;

    在最终代码中,关联对象通常是以成员变量的形式实现的;

    4. 依赖关系

    表示一个对象在运行期间会用到另一个对象的关系,用带箭头的虚线表示;

    代码体现:局部变量、方法的参数或者对静态方法的调用

    与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生;依赖也有方向

    摘自 http://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html#uml

    相关文章

      网友评论

          本文标题:看懂UML类图

          本文链接:https://www.haomeiwen.com/subject/jdxalxtx.html