UML基础与应用--UML类图解析

开发 架构
UML中心是九种图,九种图的中心是UML类图,你对UML类图是否熟悉,这里就向大家介绍一下UML基础与应用--类图,相信本文的介绍一定会让你对UML类图有深刻的认识。

在学习UML时经常会遇到关于UML类图的问题,本节就和大家一起来学习一下UML基础与应用--UML类图,希望本节的学习能够使你对UML类图有全面的了解。

UML基础与应用--UML类图

UML类图

一、类:对真实世界中事物的抽象。名称、属性和方法。
UML描述类时对外开放程度用“-、+、#”来表示。
“-”为私有,“+”为公有,“#”为保护。

二、类的关系

1、关联:

(1)普通关联:单向关联;双向关联;两个类之间可以有多种关联;一个类可以和多个类关联;关联类。自身关联。调用方法,会产生关联。

整体和部分关系:
(2)聚合:松耦合。空心菱形。例子:书和书架。
(3)组合:紧耦合。实心菱形。例子:people和arm,先有people才有arm;book和page,先有book才有page

UML类图中聚合与组合的区别:
聚合,顾名思义,聚集在一起的,没有很强的生命约束;组合,组装在一起的,生命约束很强。
用例子很好理解:
大雁和大雁群是聚合关系。一只大雁属于一个大雁群,一个雁群可以有很多只大雁。大雁离开大雁群还是大雁,雁群离开这只大雁,还有其他大雁。大雁可以脱离雁群独立存在。小鸟和翅膀的关系就是组合。没有小鸟就没有翅膀,只有翅膀也不能成为小鸟,翅膀离开小鸟就没有意义了,小鸟离开翅膀也不能构成小鸟。翅膀不能脱离小鸟独立存在。
也就是整体和部分之间的依赖关系不同。

两个对象之间的连接本身可以有自己的属性和行为。

应用于关联的修饰。
1)名称(association):用一描述该关系的性质
2)角色(role):关联中靠近它的一端的类对另外端的类呈现的职责。
3)多重性(Multiplicity):关联角色的多重性是说明一个关联的实例中有多少个相互连接的对象。1,*,0,0..*,2..5……
2、依赖
UML类图中依赖是一种使用关系。说明一个事物规格说明的变化可能影响到使用它的另一个事物。但反之未必。可用于两个类之间,也可以用于两个包之间或两个构件之间。
结构化关系包含依赖关系。如果有结构化关系,就应该用关联。

类a依赖于类b,那就用箭头指向类a,箭头不可以反了。

3、泛化
is-a-kind-of,继承。
c++中,用“:”,有关键字public或private
Java中,用关键字extents,没有public或private。
单重继承:一个子类不能有两个或两个以上的父类。
多重继承:一个类有两个或两个以上的父类。

4、实现
:是类元之间的语义关系,该关系中,一个类元描述了另一个类元保证实现的契约。
类与接口的实现关系。

三、UML类图的构成:
·用来描述系统的静态部分
·类图的构成
--classes
--Interfaces
--Collaborations
--Dependency,Generalization,and
抽象出类来之后,再确定类之间的关系。聚合关系,用空心菱形,菱形方向不能画反了。
一个方法应该放到执行者的类中而不是调用者中

UML类图深入讨论:
1、可见性(visibility)
public、private、protected
2、范围:每个实例自己拥有自己的属性个方法。
静态成员:对一个类的所有实例共享一个成员。UML中用下划线。该成员可以直接通过类名调用。
3、属性,冻结属性:相当于c++中的const,即定义常量。
4、抽象类:不能实例化。UML中描述:类名斜体。通过具体类继承实现,接口。
5、多重性

例子:company
通过名词抽象得到类以后,确定类的属性和方法,。确定方法:操作的集合。类与类之间的关系:四种关系都要准确的描述。还要对关系进行修饰。
 

【编辑推荐】

  1. 利用UML类图进行系统建模技巧详谈
  2. UML关联符号用法剖析
  3. 技术分享 :利用UML类图实现Java应用程序设计
  4. UML类图中的四种关系深入剖析
  5. 九大UML视图专家解析

 

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-06-13 16:07:56

UML活动图

2010-06-13 16:16:21

UML状态图

2010-06-11 17:34:37

UML对象图

2010-06-30 14:46:49

UML类图

2010-06-13 12:40:44

UML序列图

2010-06-11 16:38:22

UML协作图

2010-06-13 15:28:56

UML基础与应用

2010-06-13 14:37:04

UML实践

2010-06-18 18:27:13

UML构件图

2010-07-12 10:25:44

UML类图

2010-06-13 15:43:32

UML用例图

2010-06-17 18:41:00

UML建模语言

2010-06-13 16:53:15

UML类

2010-07-12 09:18:36

UML模型图

2010-07-12 11:23:09

UML类图

2010-06-13 14:51:27

UML实践

2010-07-02 10:25:50

UML模型图

2010-06-28 18:44:54

UML对象图

2010-06-17 16:14:33

UML总结

2010-07-06 13:04:33

UML系统组件图
点赞
收藏

51CTO技术栈公众号