相关文章   

      [UML]UML系列——用例图Use Case

      [UML]UML系列——用例图中的各种关系(include、extend)

      [UML]UML系列——类图Class

      [UML]UML系列——类图class的关联关系(聚合、组合)

依赖关系的概念与符号

依赖表示一个类以某种形式依赖于其他类。当两个类处于依赖关系中时,其中一个类的改变可能会影响另一个类。

符号:

依赖关系在代码中的表现

在程序代码中,依赖关系意味着一个类的对象出现在另一个类的操作中。常见的有两种情况:一个类将另一个类的对象作为自己某个操作的参数(形参),或者是操作的局部变量。

      程序演示:code/train

  class train
{
public string number; public train(string num)
{
number = num;
} public void run()
{
Console.WriteLine("列车启动……列车到站");
}
}

train

  class person
{
public string name;
public person(string name)
{
this.name=name;
}
public void GoToBeijing(train mytrain) //从河南到北京
{
Console.Write(name+"去北京乘坐{0}列车:",mytrain.number);
mytrain.run();
}
public void GoToHenan() //从北京到河南
{
train mytrain = new train("");
Console.Write(name + “去河南乘坐{}列车:", mytrain.number);
mytrain.run();
}
}

Person

  class Program
{
static void Main(string[] args)
{
person person1 = new person("张三");
person person2 = new person("李四"); train train1 = new train("1487次"); //河南到北京
train train2 = new train(“1488次”); //河南到北京
person1.GoToBeijing(train1);
person2.GoToBeijing(train2);
person1.GoToHenan();
person2.GoToHenan();
}
}

Program

对应的类图:

依赖关系与关联关系的区别

1、符号和在代码中的区别

2、语义上的区别

当一个类的实例与另一个类的一些特定实例存在固定的对应关系时,这两个类之间为关联关系。

只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是用到了那个类),就可以把这种关系看成是依赖,依赖也可以说是一种偶然的关系。

比如上面的人和火车的关系:在某个方法中偶然用到了它,但在现实中我和它并没多大关系。

总结

依赖关系还是比较好理解的,注意和关联关系的区别及符号的表示方式不同,一个用虚箭头,一个用实箭头。

今天就比较累,就写到这里吧.......后面将介绍泛化关系,及泛化关系的应用——多态

[UML]UML系列——类图class的依赖关系的更多相关文章

  1. [UML]UML系列——类图class的泛化关系

    系列文章       [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图C ...

  2. [UML]UML系列——类图class的实现关系Realization

    系列文章 [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图Class   ...

  3. 类图class的依赖关系

    类图class的依赖关系 相关文章          [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       ...

  4. 3.UML中的类图及类图之间的关系

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  5. UML中的类图及类图之间的关系

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  6. [UML]UML系列——类图class的关联关系(聚合、组合)

    关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...

  7. UML类图的6大关系

    <小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...

  8. UML类图6种主要关系区别和联系

    UML类图关系图示,因为长得都很类似,所以大家总会混淆,本文主要目的就是分析一下6种主要的关系,找到联系与区别,便于记忆. 6种主要的关系如图1所示.继承与实现.组合与聚合.关联与依赖可分别划分为一组 ...

  9. UML简单介绍—类图详解

    类图详解 阅读本文前请先阅读:UML简单介绍—类图这么看就懂了 1.泛化关系 一个动物类: /** * 动物类 */ public class Animal { public String name; ...

随机推荐

  1. TCP协议

    TCP是一个面向连接的协议,在发送数据之前,必须在双方之间建立一条连接. TCP首部 TCP数据封装在IP数据报中 TCP包首部 下面简单说明部分字段的作用: 端口号:通讯双方由IP地址和端口号标识. ...

  2. linux常用系统监控命令

    原文:http://blog.sina.com.cn/s/blog_68f1c17001016uvy.html Linux提供了很多用于监控系统的工具,使用这些工具可以找到导致系统性能降低的瓶颈.系统 ...

  3. MMORPG大型游戏设计与开发(服务器 游戏场景 掉落与网络连接)

    时间一点点的消逝,伴着自己空闲日子将要结束的时候我尽量的学习和分享场景和AI的知识给朋友们,不过很遗憾的是这些文章还有不足的地方,就是有的难点没有完全的分析到.掉落在游戏中必不可少的,同时网络连接也是 ...

  4. 数据结构(Java描述)之线性表

    基础概念 数据结构:是相互之间存在一种或多种关系的数据元素的集合. 逻辑结构和物理结构 关于数据结构,我们可以从逻辑结构和物理结构这两个维度去描述 逻辑结构是数据对象中数据元素之间的关系,是从逻辑意义 ...

  5. 第二章 spring

    一.Bean作用域 spring容器创建的时候,会将所有配置的bean对象创建出来,默认bean都是单例的.代码通过getBean()方法从容器获取指定的bean实例,容器首先会调用Bean类的无参构 ...

  6. 分页ajax+springmvc的简单实现

    页面部分源码: <li class="paginItem"><a href="javascript:getNewsList(2);">2 ...

  7. 错误提示:LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt 的解决方法

    最近在win7 系统下,打算利用 cmake 生成项目文件,然后用vs2010进行编译.但是在cmake的时候出现错误弹窗:

  8. request.getcontextPath() 详解

    request.getcontextPath() 详解 文章分类:Java编程 <%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径. 但 ...

  9. 吉特仓储管系统(开源WMS)--分享两月如何做到10W+的项目

    在此文开篇之处先特别申明,此文在有些人的眼中会有广告的嫌疑,但是本人不想将其作为一个广告宣传的文章,在此提到软件内容部分请大家予以谅解和包含,作为时间不算短的程序员给大家分享一些自己开发吉特仓储管理软 ...

  10. Memcached 服务器端命令

    memcached的基本命令(安装.卸载.启动.配置相关): -p 监听的端口   -l 连接的IP地址, 默认是本机    -d start 启动memcached服务   -d restart 重 ...