文章目录

  • 概念
  • UML类图 :
  • 泛化关系(generalization)
  • 实现关系(realization)
  • 聚合关系(aggregation)
  • 组合关系(composition)
  • 关联关系(association)
  • 依赖关系(dependency)


概念

  • 1.类(Class):使用三层矩形框表示 .
    第一层显示类的名称,如果是抽象类,则就用斜体显示 .
    第二层是字段和属性 .
    第三层是类的方法 .

注意 : 前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected .

  • 2.接口:使用两层矩形框表示,与类图的区别主要是顶端有<<   >>显示 .
    第一行是接口名称 .
    第二行是接口方法 .
  • 3.泛化关系(generalization):用空心三角形+实线来表示 . 通常在程序里面泛化表现为继承于非抽象类 .
  • 4.实现关系(realization):用空心三角形+虚线来表示 . 通常程序里面实现关系表现为继承抽象类 .
  • 5.关联关系(association):用实线箭头来表示 .
  • 6.聚合关系(aggregation):用空心的菱形+实线箭头来表示 .
  • 7.组合关系(composition):用实心的菱形+实线箭头来表示 .
  • 8.依赖关系(dependency) :用虚线箭头来表示 .

UML类图 :

组织架构图上下级关系的线标斜线划掉是什么意思 组织架构图带箭头吗_抽象类

泛化关系(generalization)

组织架构图上下级关系的线标斜线划掉是什么意思 组织架构图带箭头吗_聚合关系_02

泛化关系用一条带空心箭头的直接表示 .
如图为例, Linux 和 电脑就是泛化关系,通常在程序里面泛化表现为继承于非抽象类 .

实现关系(realization)

组织架构图上下级关系的线标斜线划掉是什么意思 组织架构图带箭头吗_聚合关系_03

实现关系用一条带空心箭头的虚线表示 .
如图为例,电脑和可计算处理器就是实现关系,通常程序里面实现关系表现为继承抽象类 .

聚合关系(aggregation)

组织架构图上下级关系的线标斜线划掉是什么意思 组织架构图带箭头吗_聚合关系_04

聚合关系用一条带空心菱形箭头的直线表示,如图码农和部门就是聚合关系 .与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在 .
如图为例 ,部门撤销了,码农换一个工作还是码农 .

组合关系(composition)

组织架构图上下级关系的线标斜线划掉是什么意思 组织架构图带箭头吗_抽象类_05

组合关系用一条带实心菱形箭头直线表示,与聚合关系一样,组合关系同样表示整体由部分构成的关系,不同之处在于整体和部分是强依赖关系,如果整体不存在了,部分也不复存在 .
如图为例,如果公司倒闭了,那么何来部门呢?

关联关系(association)

组织架构图上下级关系的线标斜线划掉是什么意思 组织架构图带箭头吗_抽象类_06

       关联关系通常用一条直线表示,当然如果需要标明方向可以添加箭头 .它是描述不同的类对象之间的关系,通常不会随着状态的变化而变化,可以理解为被关联者属于关联者的一部分 .
       如图为例,电话就是码农的一部分,不会因为他上班与否而变化所属关系 .通常情况在程序里面以类变量的方式表现 .

依赖关系(dependency)

组织架构图上下级关系的线标斜线划掉是什么意思 组织架构图带箭头吗_依赖关系_07

       依赖关系是用一条带箭头的虚线表示,它通常描述一个对象在运行期间会用到另一个对象的关系 .
        如图为例 , 码农只有在工作的时候才会用到 Linux 电脑,所以这种依赖关系是依赖于运行状态的 .通常情况下是在程序里面通过构造函数、形参等体现 .