UML类图

UML类图

        一个类图由类与与之相关的各种静态关系共同组成,展示软件模型的静态结构、类的内部结构以及和其他类的关系。

 1、类和对象

        类图中最基本的是要图形化描述类,要表示类的名称、数据成员和函数成员,以及各成员的访问控制属性。

        在UML语言中,用一个由上到下分为3段的矩形表示一个类,分别表示如下:

        顶部区域:类名

        中间区域:数据成员(数据,UML称为属性)

        底部区域:函数成员(行为,UML称为操作)

 1.1 数据成员可以包括其访问控制属性、名称、类型、默认值和约束特性,最简单的情况是只表示出它的名称,其他部分都是可选的。UML规定数据成员表示的语法为:

        [访问控制属性] 名称 [重数] [:类型] [=默认值] [{约束特性}]

        访问控制属性:可分为Public,Private和Protected三种,UML中分别用"+","-","#"标识;

        名称:标识数据成员的字符串;

        重数:可以在名称后面的方括号内添加属性的重数;

        类型:表示该数据成员的种类,可以是基本数据类型,也可以是自定义的类型,还可以是某个类;

        默认值:赋予该数据成员的初始值;

        约束特性:用户对该数据成员性质约束的说明,例如"{只读}"。

1.2 函数成员可以包括访问控制属性、名称、参数表、返回类型和约束特性,最简单的情况是只表示出其名称,其余部分可选。UML规定函数成员表示的语法为:

        [访问控制属性] 名称 [(参数表)] [:返回类型] [{约束特性}]

        访问控制属性:可分为Public,Private和Protected三种,UML分别用"+","-","#"标识;

        名称:标识函数成员的字符串;

        参数表:含有由逗号分隔的参数,表示方法为"[方向] 名称:类型=默认值",[方向]指明参数是用于表示输入(in)、输出(out)、 既输入又输出(inout);

        返回类型:该函数成员返回值的类型;

        约束特性:用户对该函数成员性质约束的说明。   

        以下用类图表示Clock类:



        在UML语言中,用一个矩形表示一个对象,对象的名字要加下划线,对象的全名写在矩形上部区域,由类名和对象名组成,表示方式为"对象名:类名";数据成员及其值表示在矩形下面区域,数据成员是可选的。Clock类的对象可表示如下:

其中,数据成员hour描述为:-hour : int,访问控制属性"-"表示它是私有数据成员,名称为hour,类型为int,没有默认值和约束特性;函数成员setTime描述为:+setTime(newH:int=0,newM:int=0,newS:int=0):void,访问控制属性"+"表示它是公有函数成员,名称为setTime,括号中是参数表,返回类型为void,没有约束特性。

2.1 依赖关系2、几种关系的图形标识

        类或对象之间的依赖描述了一个事物的变化可能会影响到使用它的另一个事物,反之不成立。当要表明一个类使用另一个类作为它的函数成员参数时,就使用依赖关系。通常类之间的调用关系、友元、类的实例化都属于依赖关系,UML图形把依赖绘成一条指向被依赖事物的虚线。如下表示类间的依赖关系,表示"类A"使用了"类B",或称"类A"依赖"类B":

2.2 作用关系——关联

        关联用于表述一个类的对象和另一个类的对象之间互相作用的连接,UML用实线来表示的两个类(或同一个类)之间的关联,在线段两端通常包含多重性(或称重数),关联一端的多重性表明:关联另一端类的每个对象要求与本端类的多少个对象发生作用。如下表示类间的关联:,其中"重数A"决定了类B中每个对象与类A的多少个对象发生作用,"重数B"决定类A的每个对象与类B中的多少个对象发生作用。重数标记的形式和含义如下表:

标记说明

*

1

n

0..1

n..m

2,4

任何数目的对象(包括0)

恰好一个对象

恰好n个对象

0个或1个对象(表明关联是可选的)

最少为n个对象,最多为m个对象(n和m是整数)

离散的结合(2个或4个)

2.3 包含关系——聚集和组合

       类或对象之间的包含关系在 UML中由聚集和组合两个概念描述,它们是一种特殊的关联。聚集表示类之间的关系是整体和部分的关系,"包含"、"组成"等都是聚集关系。聚集可以进一步划分成共享聚集和组成聚集(简称组合),部分可以参加多个整体称之为共享聚集;整体拥有各个部分,部分与整体共存称之为组合。UML中聚集表示为空心菱形:,组合表示为实心菱形:

2.4 继承关系——泛化

        类之间的继承关系在UML中称为泛化,使用带有三角形标识的直线段表示这种继承关系,三角的一个尖指向父类,其边上的线指向子类。下图说明了泛化关系,子类2继承父类A,是单继承;子类1既继承父类A,又继承父类B,是多继承。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值