UML九图之一(类图)

        看到网上也有不少UML相关的介绍,但学习起来不够方便。在此就尽可能的总结下UML图,如果有不对的地方,欢迎指正,博客也会不断改正。

        UML的重要性和实用性暂且不讨论,需要提一下的是当前选的UML开发工具是startUML2.0。

        下面进入今天的重点:UML类图介绍

一、类图介绍:

        类图是描述系统中的类,以及各个类之间的关系的静态视图。

        1、属性:与java中定义的class一样,包含类名、属性和方法

        2、关系:类图的关系大致有6种:(参考文章:http://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html

              1)泛化关系(子类继承抽象类)

              继承关系,是指一个对象直接使用另一对象的属性和方法

            【表示】带三角箭头的实线,箭头指向父类

            

            2)实现关系(子类实现接口)

            接口关系,实现接口类的所有特征和行为

          【表示】:带三角箭头的虚线,箭头指向接口

            

            图中为startUML上的特殊表示

            3)组合关系

            组合关系表示整体由部分构成。但是如果整体不存在了,则部分也不存在了。例如:公司不存在了,部分也将不存在。

          【表示】:一条带实心菱形箭头直线表示,如下图表示BA组成

            

            4)聚合关系

            聚合关和组合关系类似,也是整体由部分构成。但是如果整体不存在了,部分依赖可以存在。例如:部门和员工的关系,部门不存在了,员工却是可以存在的,员工可以有其它组合。

           【表示】:一条带空心菱形箭头的直线表示,如下图表示BA组成

            

            5)关联关系

            关联关系是类之间的一种静态关系,通常是长期存在的,非偶尔存在,在代码上,所以通常以成员变量的形式存在与一个class。关联关系具体可以是双向关联、单向关联和自关联。

                ①双向关联(不推荐):指两者之间可以互相指向

                【表示】:无箭头实体线

                

                ②单向关联(常用)指一方需要另一方的辅助,在代码上,建造者模式可以体现。具体如下图表示A需要B的辅助:

                【表示】:单箭头实体线,指向被需要方,如下图表示:A需要B,通常B作为成员变量存在于A中。

                

                ③自关联在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联

                【表示】:单箭头实体线,自己指向自己

                

             6)依赖关系

            依赖关系通常是在特定情况下需要一方依赖另一方,是临时性的,而非长期。在代码上通常以参数和局部变量的形式出现。

          【表示】用一套带箭头的虚线表示的;如下图表示在特定情况下A依赖于B

            

二、startUML工程创建

       1、创建Model:在startUML右上方可以找到Explorer,在Untitled右键,add,选择model,创建一个自己的Model,修改名称MyModel。

       2、创建Class:在MyModel上右键,add,选择class,创建class,修改名称Person。然后可以直接拖动到中间画板中使用。

       3、添加属性:选中class,右键,add,选中Attribute,重命名,右下方可以选择class、method的修饰属性,public(+)、private(-)、protected(#)、package(~)。

       4、添加方法:选中class,右键、add,选中Operation,其它同上。

       5、泛化:选中面板左下角,Class分类,Generalization,再左键子类class,拖动不放到父类class

       6、实现:同上,选中Class分类中的InterfaceRealization,再左键子类class,拖动不放到Interface

       7、组合:同上,选中Composition

       8、聚合:同上,选中Aggregation

       9、关联:同上,选中Directed Assocition

       10、依赖:同上,选中Dependency

 

猜你喜欢

转载自blog.csdn.net/qq_24477797/article/details/80066943