UML—类图、包图和对象图

类(描述静态部分)

  • 类的表示

  • 一个类可以有多种方法表示

 

类图的关系

1.关联

  •     (1)普通关联

                     类和类之间最普通的关系(用直线连接)

                     

                      一. 名称:用以描述该关系的性质

                      二. 角色:当一个类主语关联的某一端时,该类就在这个关系中扮演了一个特定的角色;角色是关联中靠近他的一端的类对另外端的类呈现的职责。

                     三.多重性:一个关联的实例中有多少个相互连接的对象。(*)

                       

             关联举例:

             

      单项关联(导航关联)

       

      双向关联

       

      两个类之间可以有多种关联

      

     一个类可以和多个类关联

      

      自身关联

     

  •      (2)聚合

                  整体和部分关系(用空心菱形表示)

                  

  •      (3)组合

                   整体和部分关系(用实心菱形表示)

                   

              对比

                在聚合关系中发动机可以脱离火车而存在

                在组合关系中结点不能脱离链表而单独存在

                 

         关联类

              两个对象之间的连接本身可以拥有自身的属性和行为,如果把连接看做是一个类的实例,则该类称为关联类。

              

         自身关联

                 一个对象可以与另一个同类的对象有连接(Link),即类可以与自身有关联。

  •     (4)依赖关系(带箭头的虚线)

                      依赖是一种使用关系。它说明一个事物规格说明的变化可能影响到使用他的另一个事物。但反之未必。

2.泛化

       类和类之间的继承关系(空心三角形)

      单重继承

           一个子类有且只有一个父类。

     多重继承

           一个类有两个或两个以上父类。

3.实现

       类元之间的语义关系,一个类元描述了另一个类元保证实现的契约。

       

  •        两种接口的表示方法

       

  •        类图可见性

            public:+

            protected:#(保护)

            private:-

            package:~ (高级别)

 

包图

  •      作用:1.逻辑上把一个复杂的图模块化

                        2.组织源代码

  •      包的元素:1.类、接口、构件、用例、其他包等

                                2.若包被撤销,则其中的其他元素也被撤销了

  •       包之间的关系: 1. 泛化

                                     2.细化

                                          3.依赖(常用):如果两个包中的任意两个类之间有依赖关系,则这两个包之间有依赖关系。

  •         包的常见问题

               1.避免循环依赖产生

               2.测试时以包为测试单位

               3.尽量把概念和语义上相接近的元素包含在同一个包中。

               4.找出那些元素是可以在包外访问的,把这些元素标记为公共的,其他标记为受保护的或者私有的。

 

对象图

      描述一个系统某个具体时刻的静态结构。而类图描述所有可能的情况。

  •    包含元素:对象、连接、包
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值