ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

UML 有关类图知识及类间关系

2021-11-19 11:34:18  阅读:154  来源: 互联网

标签:关系 类间 类图 接口 操作 UML 属性


原文链接:https://blog.csdn.net/mj_ww/article/details/53020346

1. 类的含义

  类图(Class diagram)显示了系统的静态结构,而系统的静态结构构成了系统的概念基础。
  类图,就是用于对系统中的各种概念进行建模,并描绘出它们之间关系的图。
  在大多数的 UML 模型中,我们可以将这些概念的类型概括为以下四种,分别是:
     (1) 类
     (2) 接口
     (3) 数据类型
     (4) 构件
  在类图中,具体来讲它一共包含了以下几种模型元素,分别是:类、接口、依赖关系、泛化关系、关联关系以及实现关系。
类图可以创建约束、注释和包等。

2. 类图在项目开发中的作用  

类图的作用是对系统的静态视图进行建模。当对系统的静态视图进行建模时,通常是以以下三种方式来使用类图。
   (1)为系统的词汇建模。
   (2)模型化简单的协作。
   (3)模型化逻辑数据库模式。
  在设计数据库时,通常将数据库模式看作为数据库概念设计的蓝图,在很多领域中,都需要在关系数据库或面向数据库中存储永久信息。系统分析者可以使用类图来对这些数据库进行模式建模。

 

3. 类图组成

 

1. 类

  类是面向对象系统组织结构的核心。类是对一组具有相同属性、操作、关系和语义的事物的抽象。
  在UML的图形表示中,类的表示法是一个矩形,这个矩形由三个部分构成,分别是:类的名称(Name)、类的属性(Attribute)和类的操作(Operation)。
类的名称是每个类的图形中所必须拥有的元素,用于同其它类进行区分。类的名称通常来自于系统的问题域,并且尽可能地明确表达要描述的事物,不会造成类的语义冲突。
属性是类的一个特性,也是类的一个组成部分,描述了在软件系统中所代表的对象具备的静态部分的公共特征抽象,这些特性是这些的对象所共有的。
  在UML中,类的属性的表示语法为([ ]内的内容是可选的):
  [可见性] 属性名称 [:属性类型] [=初始值] [{属性字符串}]

  类的操作指的是类的所能执行的操作,也是类的一个重要组成部分,描述了在软件系统中所代表的对象具备的动态部分的公共特征抽象。
  操作由一个返回类型、一个名称以及参数表来描述。其中,返回类型、名称和参数一起被称为操作签名(Signature of the Operation)。操作签名描述了使用该操作所必需的所有信息。在UML中,类的操作的表示语法为([ ]内的内容是可选的):
  [可见性] 操作名称 [(参数表)] [:返回类型] [{属性字符串}]

  在标准的UML定义中,有时还应当指明类的另一种信息,那就是类的职责。类的职责指的是对该类的所有对象所具备的那些相同的属性和操作共同组成的功能或服务的抽象。
  在声明类的职责的时候,可以非正式的在类图的下方增加一栏,将该类的职责逐条描述出来。类的职责的描述并不是必须的,因此也可以将其作为文档的形似存在,也就是说类的职责其实只是一段或多段文本描述。一个类可以有多种职责,设计得好的类一般至少有一种职责。
  类的约束指定了该类所要满足的一个或多个规则。在UML中,约束是用一个大括号括起来的文本信息。

 

2. 接口  

 

类接口是在没有给出对象的实现和状态的情况下对对象行为的描述。通常,在接口中包含一系列操作但是不包含属性,并且它没有对外界可见的关联。
  接口是一种特殊的类,所有接口都是有构造型interface的类。一个类可以通过实现接口从而支持接口所指定的行为。
  在UML中,接口的表示方式是使用一个带有名称的小圆圈来进行表示的,并且我们可以通过一条Realize(实现关系)线与实现它的类相连接

 

 

3. 类间关系

 

依赖关系
泛化关系
关联关系:单向关联关系、双向关联关系、聚合关联关系、组合关联关系
实现关系

 

 

标签:关系,类间,类图,接口,操作,UML,属性
来源: https://www.cnblogs.com/lx06/p/15576328.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有