博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java web 航空公司类图,认识类图 - blogjava's web log - BlogJava
阅读量:6453 次
发布时间:2019-06-23

本文共 1695 字,大约阅读时间需要 5 分钟。

类是一组对象的描述,这组对象具有共同的属性、行为(操作)、关系和语义.

类是对象的蓝图,其中包含3个组成部分。第一个是Java中定义的类名。第二个是属性(attributes)。第三个是该类提供的方法。

属性和操作之前可附加一个可见性修饰符。加号(+)表示具有公共可见性。减号(-)表示私有可见性。#号表示受保护的可见性。省略这些修饰符表示具有package(包)级别的可见性。如果属性或操作具有下划线,表明它是静态的。在操作中,可同时列出它接受的参数,以及返回类型,如图(1):

d6205c793b38df6941431cfc0f27d9df.bmp

d15d0cf1113ea0bf00242088f1583174.png

约束

可以用约束(constraint)来添加足够的信息,使类的描述更加明确。

约束用括号括起来的字符串表示

Professor

name: String

age: Integer   { age>40 }

注释

通过注释的方式可以对类附加更多的信息

关联

关联是类之间的联系

关联的名称应该反映关系的用途,并且是一个动词;该名称可以忽略,尤其是使用角色名的时候。

应该尽量避免使用“具有”和“包含”这样的名称,因为它们不包含说明类之间具有什么关系的信息。

角色名相对于类必须是唯一的。 角色名应该是一个名词,它表示被关联的对象相对于关联对象的角色。 角色名放在关联线一端的旁边。

单向关联

如果类与类之间的联系是单向的,则称为导航关联。

导航关联用实线箭头连接两个类,只有在箭头方向上才有这种关联关系。

关联的约束

两个类之间的一个关联需要一个规则约束,可以通过在关联线附近加注一个约束来说明这个规则。

9fd0d872f62feba1129cdc20ac0e9622.bmp

关联类

和类一样,关联也可以拥有自己的属性和操作,此时这个关联实际上就是一个关联类(association class)

29082b6735e0b41918706a3e364b8937.bmp

多重性

多重性(multiplicity)定义有多少对象参与了某个关系。

3: 多重值和它们的表示

可能的多重值描述

表示   含义

0..1     0个或1个

1        只能1个

0..*     0个或多个

*        0个或多个

1..*     1个或我个

3        只能3个

0..5     0到5个

5..15    5到15个

限定关联

b4abd0f589984bb5370dcfebb148dccc.bmp

递归关联

当一个类与它自己发生关联的时候,我们称其为“递归关联”(reflexive association)

泛化

在面向对象的术语中,上述关系被称为继承(inheritance)。

UML中称它为泛化(generalization),定义是:将类抽象为更一般的类的过程。被泛化的类称为子类,得到的类称为超类。

74c5d9e7f8fde31898659e55ae2f6b73.bmp

依赖(dependency)

描述的是两个模型元素之间的语义上的连接关系。其中一个模型元素是独立的,而另外一个依赖于独立的这个模型元素,当独立的模型元素发生变化时将会影响依赖于该模型元素的模型元素。

24522c800f4303c322406d4b6d2a19e4.bmp

聚集(aggregation)

聚集(aggregation)表示整体与各部分之间的关系

组成

组成是一种整体和部分所属更强的聚集关系,每个部分只能属于一个整体,没有整体,部分也没有存在的价值

2c26963874ef8d9d6c4e1a8629041836.bmp

接口和实现

接口是用于指定类或组件的服务的操作的集合。

接口的表示法和类大致相同,都是用一个矩形来表示,并在矩形框中接口的名称上方放置构造型《interface》进行说明。

实现(realization)

类和接口之间的关系称为实现(realization)。实现关系用一个带空心三角形箭头的虚线来表示,箭头的方向指向接口。

d37a152abebe168be2b132a5cbb95df9.bmp

总结

类图标是一个包括三个部分的矩形

对象以名称带下划线的矩形表示

约束允许在现有 UML 模型中加入新的语义或更改现有的语义

关系以线条的形式来模型化,不同类型的线条用于表示不同类型的关系

多重性定义有多少对象参与了某个关系

聚集表示整体与各部分之间的关系

组成是一种强类型聚集关系,表明了部分和整体之间很强的所属关系和一致的生命周期

依赖关系表示模型元素之间的语义关系

发生在同一个类的对象之间的关联称为“递归关联”

使用泛化原则共享属性和操作的机制称为“继承”

接口是用于指定类或组件的服务的操作的集合。

转载注明:http://www.blogjava.net/wujun

了解更多http://www.holub.com/goodies/uml/

你可能感兴趣的文章
学生选课系统数据存文件
查看>>
4.6 直接插入排序法
查看>>
我的毕设总结所用的技术和只是要点 基于stm32F4的AGV嵌入式控制系统的设计
查看>>
盘点国内外那些有野心的BI公司
查看>>
JMeter—断言
查看>>
C++的新类创建:继承与组合
查看>>
m5-第9周作业
查看>>
odoo 权限设置
查看>>
asp操作access提示“无法从指定的数据表中删除”
查看>>
git bash 风格调整
查看>>
997D Cycles in product
查看>>
bzoj4589 Hard Nim
查看>>
java实现pdf旋转_基于Java实现PDF文本旋转倾斜
查看>>
java二维数组内存模型_C++二级指针第二种内存模型(二维数组)
查看>>
java static import 与 import_Java中的import和static import语句之间有什么区别?
查看>>
python time库3.8_python3中datetime库,time库以及pandas中的时间函数区别与详解
查看>>
java 代替Python_Java总是“沉沉浮浮”,替代者会是Python?
查看>>
贪吃蛇java程序简化版_JAVA简版贪吃蛇
查看>>
poi java web_WebPOI JavaWeb 项目 导出excel表格(.xls) Develop 238万源代码下载- www.pudn.com...
查看>>
java 顶点着色_金属顶点着色器绘制纹理点
查看>>