首页 > 技术杂记, 程序人生 > UML中类之间的关系小结

UML中类之间的关系小结

好久没用UML的东东了,有点记不太清了,最近要用到了,做个简单的复习。UML中类之间的关系一直让人觉得很容易混淆的东东,这里记录一下今天复习的时候整理的笔记,希望对感兴趣的朋友有所帮助。

  • 1. 关联
  • 关联用来描述类与类之间的连接关系。关联一般是双向的,即关联的对象双方彼此都能与对方通信。换言之,如果两个类的对象之间存在可以互相通信的关系,或者说对象双方能够感知另一方,那么这两个类之间就存在着关联关系。
    关联
    如上图所示:每个Person“拥有”0到多辆Car, 每辆Car“属于”1个或多个Person。

  • 2. 聚合
  • 聚合是关联的特例。如果类与类之间的关系具有“整体与部分”的特点,则把这样的关联称为聚合。
    聚合
    如上图所示:一个Window可以包含任意个TextBox、Button,、Menu和ListBox,每个TextBox、Button、Menu或ListBox必然是属于某一个Window,它们都是Window的一部分。

  • 3. 继承(泛化)
  • 继承(泛化)与面向对象语言中的继承关系是一致的。
    继承
    如上图所示,Shape是基类,Cirle, Rectangle, Sector都是Shape的一种,但它们都有各自的与众不同之处,这时候用继承来表达它们之间的关系就比较合适。

  • 4. 依赖
  • 依赖是描述两个类之间语义上的连接关系的。有两个类A和B,如果A是独立的,B是非独立的(依赖的),它依赖于A,如果A发生变化,会影响到B。那么,我们称A和B是依赖关系,B依赖于A。
    常见的依赖类型:
    a. 类B的某个操作(函数)以类A为参数,这时B依赖于A
    b. 类B访问(调用)类A的成员,包括成员变量和成员函数,这时B依赖于A
    依赖
    如上图所示,表示的就是一种B依赖于A的关系。

    1. 2010年9月6日18:35 | #1

      看文章 学到了。。哈哈

    1. 本文目前尚无任何 trackbacks 和 pingbacks.
    您必须在 登录 后才能发布评论.