UML静态类图
0,
主要分为类、接口、协作、关系,这四种元素。
作用:a,显示类、接口以及他们之间的静态结构和关系;b,用于描述系统的结构化设计。
1,类
|
CStudent |
|
+m_strName : string |
|
+Study() : void |
类名:
属性:[可见性]属性名 [:类型] [=初试值] [{属性字符串}]
操作:[可见性]操作名[(参数表)] [:返回类型] [{属性字符串}]
+(public), -(private), #(protected), ~(package)
2,接口
|
<<interface>> |
|
+Eat() : void |
接口是对对象行为的描述,一个类可有一个或多个接口。
3,协作
在一定的语境中一组对象以及实现某些行为的对象间的相互作用。
4,关系
1),泛化Generalization
a,是一种继承关系,它指定子类如何特例化父类的所有特征和行为。
b,用带空心箭头的实线表示,箭头指向父类。
个实例.
0..*: 对实例的数目没有限制.
1: 只能有一个实例.
1..*: 至少有一个实例.
d,表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。

3.2)、聚合Aggregation
a,整体与部分的关系,且部分可以离开整体单独存在。聚合属于关联中的一中,是强关联关系。
b,用带空心菱行实线表示,菱形指向整体。

3.3)、组合Composition
a, 整体与部分的关系,且部分不能离开整体单独存在。是比聚合还强的关系。它要求整体对象负责其中部分对象的生命周期。
b, 用带实心菱行实线表示,菱形指向整体。

5,依赖Dependency
a, 元素A的变化会影响元素B,那么B是A的依赖关系。避免双向依赖,关联、实现、泛化都是依赖关系。
b, 带虚线的箭头表示,箭头指向被依赖元素。

6,
UML静态类图的更多相关文章
- UML类图与时序图
UML统一建模语言 结构式图形: 静态图(类图,对象图,包图) 实现图(组件图,部署图) 剖面图 复合结构图 行为式图形: 活动图 状态图 用例图 交互式图形: 通信图 交互概念图(2.0) 时序图( ...
- UML类图(下):关联、聚合、组合、依赖
前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...
- UML类图(上):类、继承和实现
面向对象设计 对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做.伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现.如果要自己设计,无论是给自己看,还是给别人看 ...
- UML类图几种关系的总结
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...
- UML类图关系全面剖析
UML的类图关系分为: 关联.聚合/组合.依赖.泛化(继承).而其中关联又分为双向关联.单向关联.自身关联:下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里. 1.关联 双向关联:C1- ...
- UML类图关系--继承(泛化)、实现、关联、聚合、组合、依赖
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composi ...
- UML类图的6大关系
<小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
[.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
随机推荐
- Codeforces Gym 100418K Cards 暴力打表
CardsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action? ...
- HomeSnap
http://arnauddegiuli.github.io/HomeSnap/ OnBufferingUpdateListener https://github.com/LuckyJayce/Mat ...
- Android-WizardPager
https://github.com/HeinrichReimer/Android-WizardPager
- Java log code example
Java log example Logrecord filter import java.util.logging.Filter; import java.util.logging.Level; i ...
- Android 事件监听处理
事件监听的处理模型包括三个成员:事件源.事件以及事件监听器. 基于监听的事件处理模型一般包括几个步骤: 1.获取普通界面组件: 2.实现事件监听器类 3.将监听器对象注冊给普通组件 当事件源上发生指定 ...
- as3中使用stage ,root ,this 区别详解
stage:最顶层舞台root:stage的下一级舞台,属于第二层舞台(继承自DisplayObject)this:当前的对象(如果是主时间轴上的this,那它就是root) 继承方面:Stage - ...
- Spark之路 --- Windows Scala 开发环境安装配置
JDK安装 JDK安装包下载 到Oracle官网下载JDK. 传送门 下载之前要记得勾选上同意协议然后选择相应的版本(Windows/Linux, 32/64) JDK安装及验证 按提示完成安装,安装 ...
- 如何使用Linux命令dhclient
如何使用Linux命令 dhclient The Internet Systems Consortium DHCP Client, dhclient, provides a means for con ...
- Jquery解析Json字符串,并且动态生成数据表格Table
//ajax获得后台传来的json字符串 $.post("UserInfo.ashx", function (data) { //假设data="{T1:[{User_I ...
- CSS设置行内元素和块级元素的水平居中、垂直居中
CSS设置行内元素的水平居中 div{text-align:center} /*DIV内的行内元素均会水平居中*/ CSS设置行内元素的垂直居中 div{height:30px; line-heigh ...