UML笔记2:类图

0.参考

  • http://c.biancheng.net/view/8375.html
  • https://blog.csdn.net/yiminghd2861/article/details/86615080
  • https://blog.csdn.net/sinat_21107433/article/details/102576624
  • https://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html

1.类图的三个层次

  1. 概念层类图
  2. 说明层类图
  3. 实现层类图

2.类图的组成

2.1 类

在这里插入图片描述

  • 第一层:类的名称;如果该类是抽象类,则使用斜体;
  • 第二层:类的属性,即成员变量,[可见性]名称:类型[=默认值];
  • 第三层:类的方法,即成员函数,[可见性]名称([参数列表])[:返回类型]。

成员变量和成员方法前面有权限修饰符:

  • “-”:private——私有
  • “+”:public——公有
  • “#”:protected——保护性
  • 省略:package(包)级别的可见性
    在这里插入图片描述

2.2 接口

描述:是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)
表示:在UML中,接口使用一个带有名称的小圆圈来进行表示在这里插入图片描述

2.3 关系

  • 泛化:继承-空心三角箭头+实线
  • 实现:实现-虚心三角箭头+实线
  • 关联
    • 关联的强度,关联关系的强度依次增强
      • 依赖:局部变量、方法的参数或者对静态方法的调用来访问另一个类-箭头+虚线
      • 关联:对象之间的一种引用关系-箭头-箭头+实线
        • 关联的方向
          • 单向关联:单箭头
          • 双向关联:双箭头
          • 自关联 :单箭头
        • 关联的数量关系
      • 聚合:部分可以离开整体-空心菱形+实线
      • 组合:部分不可离开整体-实心菱形+实线

2.3.1 泛化(Generalization)

含义:类的继承关系。
表示:用空心三角和实线,空心三角指向父类。
举例:狗和猫都是一种动物。
在这里插入图片描述

2.3.2 实现(Realization)

含义:类与接口的关系,表示类是接口所有特征和行为的实现。
表示:用空心三角和虚线,空心三角指向接口。
举例:狗和猫实现了动物的“eat()”和"run()"的接口。
在这里插入图片描述

2.3.3 关联(Association)

含义:关联是一种拥有关系(has),一个类可以调用另一个类的公有的属性和方法
体现:成员变量

关联的分类
  • 单向关联
    含义:
    表示:带箭头的直线表示。
    举例:老师(Teacher类)有(has)自己的地址(Address类)
    在这里插入图片描述
  • 双向关联
    含义:指双方都知道对方的存在,都可以调用对方的公共属性和方法。
    表示:用一条直线连接两个类,也可以用双向箭头。
    举例:老师(Teacher类)有自己的学生(Student类),学生也有自己的老师。

在这里插入图片描述

  • 自关联
    含义:自己引用自己
    表示:带箭头的直线,指向自己。
    举例:二叉树结构体(刷题时经常碰见吧)
    在这里插入图片描述
对关联对象的数量描述

在这里插入图片描述

2.3.4 聚合(Aggregation)

含义:整体与部分的关系,部分离开整体后可以单独存在。关联的特例
体现:常用于类的成员变量
表示:带空心菱形和箭头的直线(或没有箭头),菱形挨着整体,箭头指向部分
举例:汽车和轮胎,轮胎是汽车的一部分,但轮胎也可以单独存在。
在这里插入图片描述

2.3.5.组合(Composition)

含义:整体与部分的关系,部分离开整体后不可以单独存在,代表整体的对象负责代表部分的对象的生命周期。聚合的特例
体现:常用于类的成员变量
表示:带实心菱形和箭头的直线(或没有箭头),菱形挨着整体,箭头指向部分
举例:公司和部门,部门是公司的一部分,但部门不可以单独存在
在这里插入图片描述

2.3.6.依赖(Dependency)

含义:是一种使用的关系,即一个类的实现需要另一个类的协助
体现:常用于类方法的局部变量、方法参数等
表示:带箭头的虚线,箭头指向协助的类(下面例子中箭头指向Food类)
举例:Animal的eat()方法的参数是Food
在这里插入图片描述

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值