简单学习一下UML中的类图

学习一下UML中的类图

本文内容大量参考以下博客/简书,本文仅作为个人学习资料及与网友讨论学习使用,如果侵犯原作者的权益,请联系博主将本文删除

https://blog.csdn.net/MONKEY_D_MENG/article/details/6005764

https://www.jianshu.com/p/2828874af134

下面的这张图基本包含了类图的基本定义和类与类之间的关系,第一次看可能会看不懂,但是当你看完下面的内容之后,再回过头来之后你将会发现它是如此的简单。

在这里插入图片描述

图1 类图定义以及类与类之间的关系示意图

1.类图的基本表示法

类图主要分为三层。

第一层显示类的名称,如果是抽象类,则就用斜体显示。

第二层是类的特性,通常就是字段和属性。

第三层是类的操作,通常是方法或行为。

前面的符号,+ 表示public- 表示private# 表示protected

++例如:鸟是一个抽象类,有着 有羽毛、有角质喙没有牙齿 的特点,它有可以下蛋这一行为
在这里插入图片描述

接口图主要分为两层。

第一行是接口的名称,与类图的区别主要是顶端的<<interface>>显示。

第二行是接口的方法

++例如:飞翔就是一个接口,它主要的行为/作用就是 飞

在这里插入图片描述

2.类图之间的关系

类与类一共有如下几种关系:泛化(Generalization)、实现(Realization)、依赖(Dependence)、关联(Association)、聚合(Aggregation)、组合(Composition)。

1.泛化关系

泛化关系在Java中也叫作继承关系,在UML中我们用带空心三角形的直线来表示 。

即:某一个类继承另一个类中的一些属性和方法

++例如:鸟继承动物,大雁、鸭子、企鹅继承鸟

在这里插入图片描述

2.实现关系

实现关系就是Java中类与接口的实现关系,在UML中我们用带空心三角形的虚线表示。

即:某一个类实现了某个接口

++例如:大雁实现了飞翔接口,唐老鸭实现了讲人话接口

在这里插入图片描述

3.依赖关系

依赖关系是一种很弱的关系,一般是指一个类使用另一个类, 这种依赖关系我们用带箭头的虚线表示,箭头指向被依赖对象。

++例如:动物的生存依赖于氧气和水
在这里插入图片描述

4.关联关系

关联关系是一种比较强的关系,他们的关系是比较持久的,稳定的。 关联分单向关联和双向关联,如果一个类知道或者引用了另一个类,而另一个类不知道或者没有引用这个类,则这两个类是单向关联的。 单向关联我们用带箭头的实线表示,箭头指向被引用或者被包含的类。 双向关联是两个类彼此都知道对方的存在,双向关联用不带箭头的实线来连接两个类。

++例如:企鹅和气候是一种单向关联关系,企鹅必须在合适的气候下生存,但是在某一种气候下可以不必有企鹅的存在。

在这里插入图片描述

5.聚合关系

聚合关系是一种特殊的关联关系,聚合关系强调的是整体和部分的关系,其中部分可以脱离整体而存在。 在UML类图中聚合用带空心菱形的直线表示,其中菱形指向整体。

++例如: 如雁群和一只大雁的关系,就是聚合关系,大雁离开雁群还是可以独立存在。

在这里插入图片描述

6.组合关系

组合关系也是一种特殊的关联关系,它与聚合关系很像,也是强调整体与部分的关系,不同的是部分无法脱离整体存在。在UML类图中用带实心的菱形直线表示,其中菱形指向整体。

++例如:鸟和翅膀是一种组合关系,翅膀是鸟的一部分,翅膀离开鸟之后不能单独存在。

在这里插入图片描述


作者:耿鬼不会笑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值