文章目录

  • 元素
  • 可见性
  • 关系
    • 依赖
    • 泛化
  • 导入包

元素

包只是一种一般性的分组机制,在这个分组机制中可以放置UML类元,如类定义、用例定义、装填定义和类元之间的关系等。在一个包中可以放置3种类型的元素,它们分别如下。

□ 包自身所拥有的元素,如类、接口、组件、节点和用例等。

□ 从另一个包中合并或导入的元素。

□ 另外一个包所访问的元素。

可见性

包的可见性用来控制包外界的元素对包内的元素的访问权限。一个包中的元素在包外的可见性,通过在元素名称前加上一个可见性符号来指示。其可见性包括公有的、私有的和可保护的,它们分别使用“+”“-”和“#”来表示。具体说明如下。

□ + 对所有的包都是可见的。

□ - 只能对该包的子包是可见的。

□ # 对外包是不可见的。

关系

依赖

有时一个包中的类需要用到另一个包中的类,这就造成包之间的依赖性,建模人员必须使用<<access > ><<import>>的依赖。<<import>>的依赖也可以叫作输入依赖或引入依赖。<<access>>叫作访问依赖,它的表示方法是在虚箭线上标有构造型<<access>>,箭头从输入方的包指向输出方的包。

泛化

泛化关系是表达事物的一般和特殊的关系,如果两个包之间有泛化关系,意指其中的特殊性包必须遵循一般性包的接口。包与包之间的泛化关系和类间的泛化关系很相似,因此涉及泛化关系的包也像类那样遵循可替换性原则。

导入包

当一个包导入另外一个包时,该包里的元素能够使用被导入包里的元素,而不必在使用时通过包名指定其中的元素。例如,当使用某个包中的类时如果未将包导入,则需要使用包名加类名的形式引用指定的类。

在导入关系中,被导入的包称作目标包。要在UML中显示导入关系,需要画一条从包连接到目标包的依赖性箭头,再加上字符import,如下图所示,将security包导入User包后,在User包中只能使用Identity类,而不能使用Creden类。

不仅包中的元素具有可见性,导入关系本身也有可见性。

导入可以是公共导入,也可以是私有导入。公共导入意味着被导入的元素在它们导入后的包里具有Public可见性,私有导入则表示被导入的元素在它们导入后的包里具有Private可见性。公共导入仍然使用import表示,私有导入则使用access表示。

在一个包导入另一个包时,其导入的可见性import和access产生的效果是不同的。具有Public可见性的元素在其导入后的包中具有Public可见性,它们的可见性会进一步传递上去,而被私有导入的元素则不会。

在上图所示的包模型中,包B公共导入包C并且私有导入包D,因此包B可以使用包C和D中的Public元素,包A公共导入包B,但是包A只能看见包B中的Public元素,以及包C中的Public元素,而不能看见包D中的Public元素。因为包A、B、C之间是公共导入,而包B与C之间是私有导入。

欢迎交流~

UML-包图中包与包之间的关系相关推荐

  1. UML类图以及类与类之间的关系

    类图的表示形式 我们可以看到类图是使用一个矩形来表现我们的类.最上面是类名,中间是属性,方法在最下面. 属性 属性的前面我们可以看到有加减号,他们是用来表示这个属性或方法的可见性的. "+& ...

  2. java设计模式之UML③类图讲解多个类之间的关系

    图来自大话设计模式 虚线和箭头指向依赖关系,也就是动物类依赖氧气类和水类 一般依赖关系是一个类使用另一个类作为参数使用 动物是一个父类 鸟继承动物 其中空心三角继承关系(箭头方向是子类指向父类) 实心 ...

  3. [跟我学UML] UML包图中的包引入和包合并

    缩略语     UIS     UML Infrastructure Specification   UML基础结构规范     UML    Unifed Modeling Language     ...

  4. [跟我学UML] UML包图中的包和命名空间

    本文基于UML规范,介绍了包图中的包和命名空间.此外,通过举例来帮助读者加深理解. ...请打开附件阅读全文. 转载于:https://blog.51cto.com/yunli/186628

  5. 快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图

    快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图 前言 一.UML类图简介 二.类之间的六大关系及UML类图 1.依赖关系及UML类图表示 2.泛化关系及UML类图表示 3.实现关系及UM ...

  6. UML类图中各种箭头和线条的含义和用法(转)

    UML类图中箭头和线条的含义和用法 1.UML中关系 本节向大家学习一下UML箭头.线条代表的意义,UML中关系主要有依赖,聚合,合成,泛化和实现等,下面就让我们来看一下这些关系如何用UML箭头和线条 ...

  7. 区分 UML 类图中的几种关系

    区分 UML 类图中的几种关系   2010-12-23 作者:fnw 来源:网络      区分 UML 类图中的几种关系  UML 类图中的 "关联关系(association) &qu ...

  8. 6 统一建模语言(UML)图中,( )用于对时间如何改变对象的状态以及引起对象从一个状态向另一个状态转换的事件进行建模。( )是此种图的一种特殊情况,对于系统的功能建模特别重要,并强调对象间的控制

    标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 6 统一建模语言(UML)图中,( )用于对时间如何改变对象的状态以及引起对象从一个状态向另一个状态转换的事件进行建 ...

  9. 一张图看明白UML类图中的6种关系

    在UML类图中,有6种关系,分别是: (1)泛化(Generalization),简单说就是父类和子类的关系,extends/: (2) 实现(Realization),简单说就是接口和实现的关系,i ...

  10. UML类图中的六大关系:关联(单向、双向、自关联)、聚合、组合、依赖、继承、实现

    一.类的属性的表示方式 在UML类图中,类使用包含类名.属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个A类,它包含c.d两个属性,以及methodA方法. 那么 ...

最新文章

  1. java对文本文件进行操作:读取、修改、添加、删除、重命名等
  2. Apache与Tomcat联系及区别
  3. 面试算法:Maxbuild
  4. 递归构造二叉树和二叉树的遍历
  5. serv-u 自定义html,Serv-U FTP鲜为人知的技巧(自定义欢迎界面)
  6. 抗炎饮食与混合坚果粉
  7. exe程序的启动过程
  8. java相关是什么,什么是java
  9. python如何互换两个字母_python – 通过交换多个字母来修改字符串
  10. ANSI C和Glib C区别(二)
  11. oracle跨库连接查询
  12. 课堂随笔01--进制转换
  13. java高级-反射的三种实例化模式及与工厂,单例模式的的关系
  14. HashTable与ConcurrentHashMap的区别
  15. python怎么画散点图_用python画xy散点图
  16. 设计师,程序员,当心字体侵权
  17. 2022年6月25日PMP考试通关宝典-1
  18. 商业计划书-智能导盲仗
  19. 蓝牙打印机PHP代码,小程序调用蓝牙打印机完整代码
  20. 计算机内存五个区域,总结:计算机内存的五大区域

热门文章

  1. 基本过滤工具之配置前缀列表
  2. 多余的回车键(Enter)
  3. 15个令iPhone用户嫉妒的Android widgets 桌面组件
  4. 从菜鸟到架构师(二十六)
  5. proccessing 中的 port busy
  6. 波士顿大学计算机与传媒专业,波士顿大学传媒专业排名如何?
  7. YS13-3荧光管时钟设计
  8. mysql 保留小数位数的一个方法
  9. 应聘时计算机水平怎么说,计算机能力怎么填_计算机水平怎么写_简历
  10. 计算机显示文档在哪打开,我的文档在哪?小编教你找到电脑Windows系统我的文档在哪...