UML图——类图

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

什么是类?

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



什么是类图?

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


类图由哪些部分组成?

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


 ※类

             类在类图中的表示如下:


8.png


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


     ※包

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


9.png

        ※接口

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

11.jpg或者10.jpg


         ※关系


      1、关联关系:

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

12.png

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

13.png

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

14.png

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

15.png

         2、泛化:

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

16.jpg

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


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


17.jpg

17.jpg


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

18.jpg


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


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


19.png

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

相关文章
|
3月前
|
uml
UML之类图
UML之类图
66 1
|
6天前
|
Java uml
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实
该博客文章通过UML类图和Java代码示例,展示了如何使用工厂方法模式设计一个支持加法、减法、乘法和除法运算的计算机程序,并严格按照类图设计实现程序。
|
6天前
|
Java uml
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
该博客文章展示了如何使用简单工厂模式设计一个程序,该程序能够根据用户输入的运算符(加、减、乘、除)对两个数进行计算,并提供了相应的UML类图和Java源码实现。
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
|
2月前
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
111 1
|
5天前
|
设计模式 uml
设计模式常用的UML图------类图
这篇文章介绍了UML中类图的基本概念和用途,详细解释了类与接口、类之间的关系,包括继承、实现、组合、聚合、关联和依赖等六种关系,并展示了它们在类图中的表示方法。
设计模式常用的UML图------类图
|
5天前
|
uml
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
12 0
|
2月前
|
设计模式 uml
设计模式学习心得之前置知识 UML图看法与六大原则(下)
设计模式学习心得之前置知识 UML图看法与六大原则(下)
18 2
|
2月前
|
设计模式 数据可视化 程序员
设计模式学习心得之前置知识 UML图看法与六大原则(上)
设计模式学习心得之前置知识 UML图看法与六大原则(上)
18 0
|
3月前
|
数据可视化 Java uml
Java的UML类图
Java的UML类图
41 1
|
2月前
|
数据可视化 测试技术 uml
如果更好的绘制UML图
如果更好的绘制UML图
22 0