UML类图介绍

1. UML是什么

UML-Unified Model Language 统一建模语言,是在开发阶段,说明、可视化、构建和书写一个面向对象软件的开放方法。统一建模语言(UML)是一种模型化语言,通过一系列标准的图形符号来描述系统。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。UML类图是用户将所希望描述的事物抽象为类,描述类的内部结构和类之间关系的设计视图

1.1 UML类图常用关系

在UML类图中,常有以下几种关系:泛化(Generalization)、实现(Realization)、关联(Association)、聚合(Aggregation)、组合(Composition)和依赖(Dependency)。按照关系的强弱顺序:泛化≥实现>关联>聚合>组合>依赖。

1.2 UML模型结构

UML是一种主要由图形符号表达的建模语言,其结构主要包括:

  • 视图(View):从不同角度来表示待建模系统,视图是由许多图形组成的一个抽象集合;一个系统模型可能有多个视图,每个视图从特定角度来描述系统的特征,比如用户视图、结构视图、行为视图、实现视图等。
  • 图(Diagram):UML图是UML视图内容的图形,比如用例图、类图、对象图、包图等。
  • 模型元素(Model Element):指UML图中使用的一些概念,如类、对象、消息,以及概念之间的关系,如关联关系、以来关系等。
  • 通用机制(General Mechanism):UML提供的通用机制为模型元素提供额外的注释、语义和扩展机制,允许用户对UML进行扩展。

1.3 UML类的表示

类名 -成员名 -方法名()
  • 第一层:类的名称;如果该类为抽象类,则使用斜体;
  • 第二层:类的属性,即成员变量,[可见性]名称:类型[=默认值];
  • 第三层:类的方法,即成员函数,[可见性]名称([参数列表])[ : 返回类型]。
    成员变量和成员方法前面有权限修饰符:
  • “-” :private——私有
  • “+”:public——公有
  • “#”:protected——保护性
Student +string name -long ID_number +setName(string name) : void +getName() : string
classA classB classC classD classE classF classG classH classI classJ classK classL classM classN classO classP Inheritance Composition Aggregation Association Link(Solid) Dependency Realization Link(Dashed)

2. 类之间的关系

2.1 泛化

  • 表示类的继承关系
Animal Dog Cat

如UML图所示,猫和狗从动物类中继承相同的属性。

2.2 实现

  • 类与接口的关系,表示类是接口所有特征和行为的实现。
Animal +run() : void +eat() : void Dog +eat() : void +run() : void Cat +eat() : void +run() : void

2.3 关联

关联是一种拥有关系,一个类可以代用另一个类的公有的属性和方法。
单向关联 老师类中有dog类对象

Teacher -dog : Dog Dog

双向关联 老师有学生,学生有老师 指双方都知道对方的存在,都可以调用对方的公共属性和方法

Teacher +student: Student Student +teacher: Teacher

自关联 自己引用自己

Student +student: Student

多重性关联
对象之间存在多种多重性关联关系

表示方式多重性说明
1…1表示另一个类的一个对象只与一个类的一个对象有关系
1…*表示另一个类的一个对象与该类的一个或多个对象有关系
0…*表示另一个类的一个对象与该类的零个或多个对象有关系
0…1表示另一个类的一个对象没有或只与该类的一个对象有关系
m…n表示另一个类的一个对象与该类的最少m、最多n个对象有关系

表示方式带箭头的直线,指向有关系的对象,可以在关联直线上用一个数字或数字范围表示。

Customer Ticket Student Course Galaxy Star 1 * 1 1..* Contains many

2.4 聚合

整体与部分的关系,部分离开整体后可以单独存在。常用于类的成员变量。

Car Ticket

汽车和轮胎,轮胎是汽车的一部分,但是轮胎也可以单独存在

2.5 组合

整体与部分的关系,部分离开整体后不可以单独存在,代表整体的对象负责代表部分的对象的生命周期。常用于类的成员变量。

Company Department

公司与部门,部门是公司的一部分,但是部分不可以单独存在。

2.6 依赖

一种使用的关系,即一个类的实现需要另一个类的协助,常用于类方法的局部变量、方法参数等。

Animal +eat(Food food) : void Food

2.7注意事项

  • 关联代表类与类的关系;
  • 聚合和组合代表整体与部分的关系;
  • 依赖是一种弱的关系,表示一个类的方法的实现需要用到另一个类,但二者之间并没有明显的关系。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值