UML之类图

        在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个相当重要的地位。 James Rumbaugh对类的定义是:类是具有相似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。接口在类图中通过版型来表示<<interface>>,下面的介绍将主要介绍类,接口和类类似。

        下面具体介绍一下类。       

    类包括类名(name)、属性(attrrbutes)、方法(operation)

    如图所示:


    总共的五种表示方法:

    类是任何面向对象系统中最重要的构造块。类是一种重要的分类器,用来描述结构和行为特性的机制,它包括类、接口、数据类型、信号、组件节点、用例和子系统。

    类是对一组具有共同属性、操作、关系和语义的对象的描述。这些对象包括实现现实世界中的软件事物和硬件事物,甚至包括纯粹概念的事物,它们是类的实例。一个类可以实现一个或多个接口。结构良好的类具有清晰的边界,并成为系统中指责均衡分布的一部分。

    1.名字(name

    类的名称是每一个类所必有的构成,用于和其它类区别。名称(name)是一个文本串,一种是简单名,另一种如果该类存在于某包中其名字(name)下面会有说明。具体分别如图12所示。



    2.属性(attribute)

类的属性是类的一个组成部分,它描述类在软件系统中代表的事物所具备的特性。类可以有任意数目的属性,也可以没有属性。属性描述了正在建模的事物的一些特性,这些特性是所有对象所共有的。例如学生来建模,每个学生都有名字、专业、籍贯,这些都可以作为学生的属性。

uml中类的属性的语法为:

[可见性]属性名类型] [ =初始值]  [ {属性字符串} ]

其中[  ]中的部分是可选的。类中的属性的可见性主要包括publicprivateprotect 3种,分别用“+-  # ”表示。

    3.操作(Operation

类的操作是对类的对象所能做的事务的抽象。它相对于一个服务的实现,该服务可以由类的对象请求以影响其行为。一个类可以有任何数量的操作或者根本没有操作。类的操作必须有一个名字,可以有参数表,可以有返回值。根据定义,类的操作所提供的服务可以非为两类,一类是操作的结果引起对象状态的变化,状态的改变也包括相应的动态行为的发生:另一类是为服务的请求者提供返回值。

    在UML中类的操作的语法为:

          [可见性]操作表[(参数表)] [:返回类型]  [ {属性字符串} ]

实际建模中,操作名是用来描述所属类的行为的短动词或动词短语(通常以小写字母开头。)如果是抽象操作,则用斜体字表示。

一个比较全的类图如下:



类的关系:

关联

普通关联 :一条直线

对于关联还有修饰作用例如:

简单的修饰如下:

      


聚合:

该关系表示类间的关系是整体与部分的关系。更简单的说,关联关系中的一个类描述了一个较大的事物,它由较小的事物组成,这种关系就是聚合,他描述了“has---a”的关系,即整体对象与不分对象。

表示方法:



组合:

组合是比聚合更强形式的关联,强调部分不能离开整体而单独存在。

表示方法:

 

依赖

依赖是一种使用关系,它说明一个事物规格说明的变化可能影响到使用它的另个一个事物。

表示方法:


泛化

就是描述类与类之间的继承关系。

表示方法:


实现

表示方法:



类的结构:

Class   

Interface       接口

Collaborations       协作

Dependency,Generalization and Association relationships   四种关系

Paceages or subsystems(for grouping)            or子系统

 一个完整的类图包括以上部分。具体关于类的描述我将在机房收费系统中展现,敬请期待。


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值