美文网首页
UML类图的几种关系

UML类图的几种关系

作者: 程序员修仙 | 来源:发表于2017-08-02 12:38 被阅读18次

类图是描述类与类之间关系的示意图,它形象的描述了系统的结构,有助于与更深刻的理解软件的设计思想。
类图中类的关系由强到弱可以分为4种:泛化 ---> 实现 ---> 关联 ---> 依赖。

1. 泛化

关系说明:泛化是一种继承。它指定了子类如何特化父类的所有特征和行为。
代码说明:父类与子类
图例:空心三角形的实线箭头,箭头指向父类
代码:

public class Base{
}
public class BaseExt extends Base{
}

2. 实现

关系说明:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现。
代码说明:实现类和接口
图例:空心三角形虚线箭头,箭头指向接口
代码:

public interface IBase{
    public void doSomething();
}

public class BaseImp implements IBase{
    @Override
    public void doSomething(){
       System.out.println("doSomething!");
    }
}

3. 关联

关系说明:关联表示类与类之间的拥有关系。即一个类是另一个类的成员。
关联的种类:自关联、单向关联、双向关联、多重关联、聚合、组合等

3.1 自关联

关系说明:一个类包含自己。
代码说明:成员变量
图例:普通实线箭头指向自己
代码:

 public class Node {
     private Node node;
}

3.2 单向关联

关系说明:一个类包含另一个类的成员,另一个类没有该类的成员
代码说明:成员变量
图例:普通实线箭头指向被关联的类
代码:

public class NodeA{
}
public class NodeB{
   private NodeA nodeA;
}

3.3 双向关联

关系说明: 两个类互相包含另一个类的成员。(容易循环引用,造成内存泄漏)
代码说明:成员变量
图例:普通实线,不带箭头
代码:

public class NodeA{
    private NodeB nodeB;
}

public class NodeB{
    private NodeA nodeA;
}

3.4 多重关联

关系说明:一个类中包含另一个类的多个成员。
代码说明:成员变量
图例:带数量关系说明的实线,不带箭头。
代码:

public class NodeA{
}
public class NodeB{
    private NodeA[] nodeAs;
}

3.5 聚合

关系说明:聚合是整体与部分的关系,成员对象是整个对象的一部分,成员对象的可以独立存在。如:轮胎和汽车关系
代码说明:成员变量
图例:带空心菱形的实线箭头,菱形指向整体,箭头指向部分。
代码:

public class Car{
    public Tire tire;
}
public class Tire{
}

3.6 组合

关系说明:组合是整体与部分的关系,成员对象是整体的一部分,整体对象控制着成员对象的生命周期,一旦整体不存在,成员对象也不存在。如:人的身体和手
代码说明:成员变量
图例:带实心菱形的实线箭头,菱形指向整体,箭头指向部分
代码:

public class Body{
    private Hand hand;
}
public class Hand{
}

4. 依赖

关系说明:依赖表示类与类之间的使用关系。表示一个事物使用另一个事物。
代码说明:局部变量、方法的参数或者对静态方法、成员的调用
图例:带箭头的虚线,指向被使用者
代码:

public class Boat{
}
public class People{  
    public int acrossRiver(Boat boat){
          .........
    }
}

5. 总结

对类图关系的理解,可以帮助更好的理解设计模式的精髓。后面笔者将逐步介绍几种常见的设计模式。

相关文章

  • UML类图几种关系的总结

    UML类图几种关系的总结

  • UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

    UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合UML类图几种关系的总结 泛化 类继承和类实现接口关系,...

  • UML 模型图之:类图、用例图、时序图

    一 UML类图 在UML类图中,常见以下几种关系:泛化(Generalization)、实现(Realizatio...

  • UML类图

    UML类图 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realizat...

  • UML图(一)

    一、UML类图 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Reali...

  • UML类图几种关系的总结《转载》

    原文链接:uml 类图总结 U在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现...

  • 类图与类之间关系

    UML类图画法及其之间的几种关系 最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,...

  • UML类图

    参考链接 :UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别 参考链接 :UML类图箭头关系 ...

  • UML类图

    1.类图基础属性 2.类与类之间关系 在UML类图中,常见的有以下几种关系: 泛化(Generalization)...

  • UML类图

    1.类图基础属性 2.类与类之间关系 在UML类图中,常见的有以下几种关系: 泛化(Generalization)...

网友评论

      本文标题:UML类图的几种关系

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