首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UML图——类图

UML图——类图

作者头像
DannyHoo
发布2018-09-13 11:25:29
2.1K0
发布2018-09-13 11:25:29
举报
文章被收录于专栏:Danny的专栏Danny的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1336860

       什么是类?

       类是具有相同属性和方法的一组对象的抽象,是面向对象设计中的基本单位。比如老虎、鱼、鸟等这些动物都有生命,都需要进行新陈代谢,他们都有这些共同的属性和方法,所以“动物”就是一个类;如果再往下分比如鸟有燕子、喜鹊、啄木鸟等种类,但它们都有翅膀,它们都可以飞翔,所以说,“鸟”也是一个类。

       什么是类图?

       类图是面向对象系统建模中最重要、最基本、最常见的图。类图显示了一组类、接口、协作以及它们之间的关系。

       类图由哪些部分组成?

   类图中可以包含类、包、接口以及它们之间的关系等元素。

※类

类在类图中的表示如下:

       上图中,类由三部分组成,最上层为类名,中间层为类的属性,最底层为类的方法。属性和方法前面的图标分别表示公有(public)、私有(private)、保护(protect)、包内成员可见(package),举的“鸟类”的例子,类名为“Bird”,所有的鸟都有life和Wings,所有的鸟都会飞,都会下蛋。

※包

有些系统中可能存在大量的类和接口等元素,因此,有必要把这些元素组织成一组一组的,包正是用于把建模元素组织成组的通用机制。包中可以包含类、接口、构件、结点、协作等元素,甚至可以包含其他包。包在图中的表示为:

         ※接口

  接口是一组操作的集合,这组操作用于描述类或构件的一个服务。在UML图中通常用一个类似于类图的矩形框,不过第一层要写明“<<interface>>”,或者还可以用一个小圆圈表示,如:

或者

          ※关系

       1、关联关系:

        (1)、单向关联:表示两个类由一定的关联,但只有一个类知道这种关系的存在,它知道另一个类的属性和方法,通常用一条直线加一个箭头表示,比如:

        (2)、双向关联:两个类也有联系并且这两个类彼此都知道这种关系的存在,通常用两段都有箭头的一条直线表示,比如:

        (3)聚合:聚合是比较强的关联关系,表现的更多的是整体与部分的关系,比如一辆车有多个车轮,但每个车轮不一定要装在这辆车上,比如:

        (4)组合:组合是更强的关联关系,它在聚合关系的基础上表示部分与整体不可分割,比如一个人有两条胳膊和腿,而且这两条胳膊和腿必须长在这个人的身上,比如:

    2、泛化:

        泛化就是类与类、接口与接口、类与接口之间的继承关系,在途中通常用一条直线加一个小三角表示:

         在这个图中,Animal、BIrd、Fish分别是一个类,但Bird类和Fish类继承了Animal类,所以Bird类和Fish类也就同时继承了Animal父类中的属性和方法。

        3、依赖:依赖在图中用一条虚线加箭头表示,它表明一个类依赖于另一个类,比如人需要吃东西,下面这个图就表示人类依赖于食物类:

        4、实现关系:在我理解来看,实现关系跟“使用”差不多,通常指一个类实现接口的功能,在图中用一条虚线加一个小三角表示:

      实践——机房收费系统类图

第一次画系统的类图,感觉抽象的不是特别好,因为每种用户的权限不同,而且一般用户、操作员、管理员的权限一级一级升高,所以就就给他们抽象出来一个用户类,然后一级一级往下泛化,不知道这样是否合适……

如有不足与缺漏,还望指点,感激不尽。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年03月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •        什么是类?
  •        什么是类图?
  •        类图由哪些部分组成?
    • ※类
      • ※包
        •          ※接口
          •           ※关系
          •       实践——机房收费系统类图
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档