UML中表示类与类的关系

UML中表示类与类的关系

  UML(Unified Modeling Language),又称统一建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化的支持,可用于多种类型软件系统开发建模的各个阶段,我们可以用UML图例来表示类与类之间的关系。
类的层次结构代表了类与类之间的关系,类的关系有很多种,包括泛化,依赖,关联,聚合和组合。这些关系在大的类别上还可以分为两中:横线关系和纵向关系。纵向关系就是泛化关系,横向关系就是其余的4种。他们的强弱关系顺序为 依赖 < 关联 < 聚合 < 组合

  1. 泛化
  • 泛化关系就是继承,便是一般与特殊的关系,“一般”元素是“特殊”元素的泛化,在继承中,一般类就是父类,特殊类就是子类
  • 他们之间的关系是 “is a” 的关系
  • 如: 一个Cat类继承了Animal类,也就是说Cat is an Animal 在UML类图设计中,继承用一条带空三角箭头的实现表示,从子类指向父类,或者子接口指向父接口
    Alt text|center
  1. 依赖
  • 表示一个元素以某种凡事依赖于另一种元素,依赖就是一个类A使用到了另一个类,而这种使用的关系具有偶然性,临时性,非常弱的,但是类B点变化会用影响到A
  • 他们之间是 “use a” 的关系
  • 依赖的例子:一个类把另一个类的对象作为参数,一个类访问另一个类的全局变量,或者一个类调用另一个类的操作
  • 在UML类图设计中,依赖关系用由类A指向类B点带虚线表示 (A use a B)
    Alt text|center
  1. 关联
  • 关联体现的是两个类之间的一种强依赖关系,这种关系比依赖更强,不沉在依赖关系的偶然性,关系也不是临时的,一般是长期性的关系,而且双方的关系一般平等的。关联可以是单向,双向的
  • 比如老师和学生是双向关联,老师有多名学生,学生也有多名老师,学生跟学生之间是单向关联,一个学生只能对应一个学号。在UML类图的涉及汇总,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头
    Alt text|center
    Alt text|center
  1. 聚合
  • 聚合关系是关联关系的一种,是强的关联关系,它体现的是整体和部分的关系,且部分可以离开整体而单独存在,关联和聚合语法上无法区分,必须考察具体的逻辑关系
  • 他们之间是 “use a” 的关系
  • 此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体的对象,也可以被多个整体对象共享
  • 在UML类图设计中,聚合关系用空心菱形加实线表示,如学校有很多老师
    Alt text|center
  1. 组合
  • 是整体与部分的关系,是比聚合关系还要强的关系,但此时整体与部分不可分离。整体的生命周期结束也就意味着部分的生命周期结束,如公式和部门是整体和部分的关系,没有公司就不存在部门
  • 它体现的是一种 “contains-a” 的关系
  • 在UML类图的设计中,组合关系用实心菱形加实线表示
    Alt text|center
-------------End Of This ArticleThank You For Reading-------------