【建模】UML类关系分析
一、UML类关系分析
1、关联(asociation)
一般是一方拥有另一方对象的指针。箭头的方向是访问方向。
2、聚合(Aggregation)和组合(Composition)
聚合和关联一般不做区分,聚合也是一方拥有另一方指针。
组合是一方拥有另一方对象。
3、泛化(Generalization)
是类的继承。
4、依赖(Dependency)
依赖一般是:类A一般是在把B当做局部变量、或者访问B静态方法、或者把B作为函数的参数
5、实现(Realization)
一般是类继承接口,让类来实现接口中函数,在Java中常见。
6、模板
要表示成这个意思。参考【8】
template<class T>
class A
{
....
}
StarUML中,右键菜单添加
二、区别和联系
1、关联(asociation)和依赖(dependency)
uml图如下:
代码如下:
public class Person //关联
{
Car car=new Car();//C++中则是 Car car;
} public class Person //依赖 {
public void buy(Car car)
{
} }
他们之间的区别在于:关联会在类Person存在一个属性Car car;依赖只是在把Car的实例作为Person成员函数的参数,或作为函数的局部变量
虚箭头,表示在类中要实例化一个类的对象【3】
实箭头,表示在类中要引用一个类的对象
参考:1、UML中关联和依赖的区别
【3】、UML中几种类间关系
6、UML类图关系
7、类间四大关系
【8】、UML类图关系大全
【建模】UML类关系分析的更多相关文章
- UML类关系(依赖,关联,聚合,组合,泛化,实现)
转自https://blog.csdn.net/k346k346/article/details/59582926 在学习面向对象设计时,类关系涉及依赖.关联.聚合.组合和泛化这五种关系,耦合度依 ...
- UML类关系:依赖,关联,聚合和组合
UML图示例:(可使用StartUML来画图,小巧^_^) http://www.blogjava.net/lukangping/archive/2010/08/01/327693.html 聚合:表 ...
- UML 类关系及画法
1 泛化 [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向 ...
- UML 类关系图(泛化,实现,依赖,关联(聚合,组合))
UML的构造快包含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图,类图,对象图,包图 ...
- uml类关系
类间的关系:http://www.open-open.com/lib/view/open1328059700311.html 泛化 . 实现 . 关联 . 组合 . 聚合 . 依赖 泛化是继承类,实现 ...
- UML类关系:依赖、关联、聚合、组合
1,依赖关系(Dependency) 单向,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,是一种“use a”关系 如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等 ...
- UML类图分析
继承: 实现: 关联: 依赖: 组合: 聚合:
- 我对uml类图关系的理解
uml类图的关系: 泛化关系也就是继承. 实现关系就是一个类实现另外一个接口. 依赖关系就是一个类使用了另外一个类,是一种使用关系,在这个类的某个服务中需要另外一个类来协助. 关联关系就是一类拥有另外 ...
- UML类图还不懂?来看看这版乡村爱情类图,一把学会!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.码场心得
随机推荐
- 下拉框上移、下移、添加、移除demo
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <sc ...
- Java遍历Map、List、Array
1.遍历array,使用for循环或者foreach(本人建议使用) int arr[] = {2, 3, 1}; System.out.println("----1----排序前的一维数组 ...
- WorkBook的SaveAs方法 2
-----转载:http://blog.csdn.net/zyming0815/article/details/5939104 语法 声明Sub SaveAs ( _ Filename As ...
- (转)织梦cms首页添加digg顶一下的修改方法
现在把文章内容页拔的顶拔出来.分享一下让各位需要的朋友参考使用(特别注意:红色的是修改的地方)第一步:把顶踩的js和ajax提取出来,放在想要使用的页面用(比如:首页)以下是内容页顶踩用的js.提取出 ...
- 【转】 iOS学习之sqlite的创建数据库,表,插入查看数据
原文: http://blog.csdn.net/totogo2010/article/details/7702207 iOS sqlite数据库操作.步骤是: 先加入sqlite开发库libsql ...
- iOS应用架构谈 开篇 (转)
iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 动态部署方案 iOS应用架构谈 本地持久化方案 缘由 之前安居客iOS ap ...
- Linux shell日常命令和技巧
转自:http://www.vaikan.com/linux-shell-tips-and-tricks/ 原文:http://www.techbar.me/linux-shell-tips/ 使用L ...
- N3292x IBR介绍
N3292x IBR介绍 1 IBR启动流程 图1-1 IBR启动流程 CHIP_CFG[0] Mode 0 Boot from IBR Recovery Mode with crystal inpu ...
- svn更新
下载配置文件 pwd cd /home/www/xxxx/protected/config/ get main.php 上传配置文件 put main.php svn更新 svn co svn://s ...
- 中文版kendoUI API — Grid(一)
1.altRowTemplate 类型:Function | String 说明:提供表格行的交替模板,默认grid表格为每一个数据元素提供一个tr 注意:模板中最外层的html元素必须是<tr ...