打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
UML类图

       UML类图是描述系统内部对象特征、对象之间关系、以及对象所属的每个类的属性和操作、捕获系统的静态特征的模型。类图是面对对象思想的最直接表达,因为它贴近现实世界,所以表述的更为直观,有益于和客户沟通。

            画类图首先应该明确类的定义:类是具有相同属性、行为、关系的一组对象的抽象。而对象是累的一个实例,例如洗衣机是一个家用电器。那么洗衣机就是家用电器这个类中的一个实例。画类图有两个关键,一是抽象出类,二是描述类之间的关系。那么抽象这应该是一个积累的过程,所以目前而言我觉的类图主要的是应该理解类之间的关系。所以本篇博客着重总结类间关系。

       1、依赖(dependency),用带方向的虚线表示。

             依赖是一种使用关系,如果类为了实现某一功能,而使用其他类为参数或者调用了其他类的方法,使用了其他类的参数,这是即产生了依赖关系。那么类A的变化引起了类C的变化,我们就说C依赖于A。依赖关系总是单向的。

       2、关联(association),用实线表示。

       关联关系是一种结构化关系,例如骑手和马的关系、学生和课程的关系。大家可看出关联是类和类之间整体的关系(即结构化)。它不是通过方法的调用或者把类作为参数而产生的关系。即两个类之间是互不影响的,且在结构上是独立存在的。应该可以这么说,关联关系是一种外在的联系。

       关联之中还有两种特例:聚合、组合。

       聚合(Aggregation):由带空心菱形和箭头的实现表示,由整体指向局部。

       作为一种特殊的关联,聚合指的是一种在结构上存在整体和局部的关系,同时产生关系的两个类之间是可以独立存在的。如车子和轮子之间、遥控和电视之间,它们共同组成了一个整体,但这个整体是可以分割的。轮子坏了可以换,遥控坏了也可配。

        组合:(Composition):实心菱形和箭头的实线表示,由整体指向局部。

        组合关系应该可以说是关联关系中最紧密的一种,它同样可以说是整体和局部的关系。并且虽然在结构上是独立的,但是生命周期是一致的。也就是说,组合关系中的各个元素是互相依赖的,不可分割的,共存亡的。例如:房间和楼之间、书页和书之间。

        3、泛化(Generalization),用带空心三角形的实线表示,由子类指向父类。

         泛化关系应该是比较清晰的一种关系了,子类继承父类的所有属性和方法。相对于关联来说这是一种内部构成上的关系。这种关系是清晰的,所以不多说了。

        4、实现(realization):用空心三角型的虚线表示,由类指向接口。

         实现应该是指类和接口之间的关系,它是一种合约。就我的理解,实现关系就是将类中的实际的方法用接口做一个“索引”。就好比菜单和烧菜之间的关系吧,客人只管点菜,而厨师才真正具有烧菜的方法。

         初学UML和面向对象,一度搞混了用例图中的关系和类图中的关系。本来给一些图例可能有助于理解这些关系,由于某些原因暂时不贴图了。以后再补吧!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
UML类图画法及其之间的几种关系
类与类之间的几种关系
starUML3.0使用教程
UML箭头笔记
UML学习(二)-----类图
UML 完全解析和总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服