乐趣区

关于javascript:UML类图简明教程

UML 类图是用于构建和可视化的面向对象的零碎的图形表示法。对立建模语言(UML)中的类图是一种动态结构图,它通过显示零碎的构造来形容零碎的构造:

  • 类,
  • 他们的属性
  • 操作(或办法),
  • 以及对象之间的关系。

什么是类 (Class)?


类是对象的蓝图。对象和类齐头并进。咱们不能不议论另一个就议论一个。面向对象设计的重点不是对象,而是类,因为咱们应用类来创建对象。因而,一个类形容了一个对象将是什么,但它不是对象自身。

实际上,类形容对象的类型,而对象是类的可用实例。每个对象都是依据雷同的蓝图构建的,因而蕴含雷同的组件(属性和办法)。规范含意是对象是类和对象的实例 - 对象具备状态和行为。

例子

狗有状态 - 色彩,名字,种类和行为 - 摇晃,吠叫,进食。对象是类的实例。

UML 类符号 (Symbols)


一个类代表一个概念,它封装了状态(属性 )和行为( 操作 )。每个属性都有一个类型。每个 操作 都有一个 签名 。_类名是 惟一的必填信息_。

类名称 (Class Name):

  • 类的名称呈现在第一个分区中。

类属性 (Attribute):

  • 属性显示在第二个分区中。
  • 属性类型显示在冒号前面。
  • 属性映射到代码中的成员变量(数据成员)。

类操作 Operation(办法 Method):

  • 操作显示在第三个分区中。它们是班级提供的服务。
  • 办法的返回类型显示在办法签名开端的冒号前面。
  • 办法参数的返回类型显示在参数名称后的冒号前面。操作映射到代码中的类办法

类可见性 (Visibility)

类中属性和操作名称后面的 +,- 和#符号示意该属性和操作的可见性。

  • + 示意公共属性或操作
  • - 示意公有属性或操作
  • #示意受爱护的属性或操作

参数方向性 (Parameter Directionality)

操作(办法)中的每个参数都能够示意为 in,outinout,它们指定了绝对于调用者的方向。该方向性显示在参数名称之前。

类图的观点 (Perspectives of Class Diagram)

透视图的抉择取决于您在开发过程中走了多远。例如,在制订 畛域模型的过程中 ,您很少会超过 概念观点 分析模型 通常将 概念和标准观点 混合在一起。设计模型的 开发通常会从着重于 标准角度开始 ,而后演变为 实现角度

能够从多种角度解释图:

  • 概念 (Conceptual):示意畛域中的概念
  • 标准 (Specification):重点是软件中的抽象数据类型(ADT)的接口
  • 实现 (implementation):形容类将如何实现其接口

视角会影响要提供的详细信息的数量以及值得出现的关系的品种。如上所述,类名是惟一的必填信息。

类之间的关系 (Relationships)


UML 不仅仅是丑陋的图片。如果应用正确,UML 能够精确传播如何从图中实现代码。如果通过准确解释,所实现的代码将正确反映设计者的用意。您是否形容每种关系绝对于您的指标编程语言的含意,如下图所示?

如果您还不能辨认它们,那么本节不会帮忙您理解 UML 类关系。一类可能波及与其余类的一个或多个关系。关系能够是下列类型之一:

继承 Inheritance(或泛化 Generalization):

概括是更个别的分类器和更具体的分类器之间的分类学关系。特定分类器的每个实例也是通用分类器的间接实例。因而,特定分类器继承了更通用分类器的特色。

  • 示意“是”关系。
  • 抽象类名称以斜体显示。
  • SubClass1 和 SubClass2 是超类的业余​​。

下图显示了继承层次结构的示例。SubClass1 和 SubClass2 派生自 SuperClass。关系显示为带有空心箭头的实线,该空心箭头从子元素指向父元素。

继承 (inheritance) 示例 - 形态

下图显示了具备两种款式的继承示例。只管连接器的绘制形式不同,但它们在语义上是等效的。

关联 (Assoication)

关联是 UML 类图中的类之间的关系。它们由类之间的实线示意。关联通常应用反映真实世界问题域的动词或动词短语来命名。

简略关联

  • 两个对等类之间的构造链接。
  • Class1 和 Class2 之间存在关联

下图显示了简略关联的示例。有一个连贯 << control >> 类 Class1 和 << boundary >> 类 Class2 的关联。关系显示为连贯这两个类的实线。

基数 (Cardinality)

基数示意为:

  • 一对一
  • 一对多
  • 多对多

聚合 (Aggregation)

一种非凡类型的关联。

  • 它代表关系的“一部分”。
  • Class2 是 Class1 的一部分。
  • Class2 的许多实例(用 * 示意)能够与 Class1 相关联。
  • Class1 和 Class2 的对象具备独自的生存期。

下图显示了一个聚合示例。该关系以实线显示,在关联端带有未填充的菱形,该菱形连贯到示意聚合的类。

组成 (Composition)

  • 一种非凡的聚合,其中的一部分在整体被毁坏时会被毁坏。
  • Class2 的对象与 Class1 一起生存和死亡。
  • Class2 不能自立。

下图显示了组成示例。关系以实线显示,在关联端带有实心菱形,该实线与示意整体或合成的类连贯。

相依性 (Dependency)

一个类的对象可能在办法的代码中应用另一个类的对象。如果对象未存储在任何字段中,则将其建模为依赖关系。

  • 一种非凡类型的关联。
  • 如果对一个类的定义进行更改可能会导致对另一类的更改,则该类存在于两个类之间(反之亦然)。
  • Class1 取决于 Class2

下图显示了依赖性的示例。该关系显示为带有关上箭头的虚线。

下图显示了依赖关系的另一个示例。Person 类可能具备带有 Book 参数的 hasRead 办法,如果该人曾经读过这本书(可能通过查看某些数据库),则该办法返回 true。

实现 (Realization)

实现是蓝图类与蕴含其各自实现级别详细信息的对象之间的关系。据说该对象实现了蓝图类。换句话说,您能够将其了解为接口和实现类之间的关系。

例如,所有者接口能够指定获取属性和处理属性的办法。Person 和 Corporation 类须要以可能齐全不同的形式实现这些办法。

类图示例:订单零碎

类图示例:GUI

类图可能还具备附加到类或关系的正文。

查找收费的类图工具?


Visual Paradigm 在线免费版 是收费的在线绘图软件,反对类图,其余 UML 图,ERD 工具和组织图工具。它具备一个简略但功能强大的编辑器,可让您疾速轻松地创立类图。收费的 UML 编辑器没有广告,没有拜访期限,也没有限度,例如图表数量,形态数量等。您领有为集体和非商业目标创立的图表。

疾速绘制类图

收费的 UML 软件

收费绘制供集体应用的类图:

  • 无限度的图表和形态
  • 无限度拜访工夫
  • 没有广告

绘制任意数量的图表。将图形导出到 PNG / JPG / GIF / SVG / PDF。

简略而弱小

UML 图表能够简略乏味。以下是咱们的类图编辑器的一些性能:

  • 拖动以创立形态
  • 连贯良好的连接器(无离开)
  • 内联编辑类属性和操作
  • 用本人的形态绘制本人的图
  • 数百个图表示例和模板

令人印象粗浅的图画

应用对齐向导精确定位形态。应用一系列格式化工具来格式化类图:形态和线条格局,字体款式,可旋转形态,形态对齐和散布,嵌入图像和 URL,暗影成果等

类图 (37 个模板)

星空局域网

基于令牌环的局域网

公司构造

理解关系

文件输入(演绎应用)

电话(协会应用)

GoF 设计模式 - 代理

GoF 设计模式 -Flyweight

GoF 设计模式 - 外立面

GoF 设计模式 - 装璜器

GoF 设计模式 - 复合

GoF 设计模式 - 桥梁

GoF 设计模式 - 适配器

GoF 设计模式 -Singleton

GoF 设计模式 - 原型

GoF 设计模式 - 工厂办法

GoF 设计模式 - 生成器

GoF 设计模式 - 形象工厂

GoF 设计模式 - 访客

GoF 设计模式 - 模板办法

GoF 设计模式 - 策略

GoF 设计模式 - 状态

GoF 设计模式 - 观察者

GoF 设计模式 -Memento

GoF 设计模式 - 中介者

GoF 设计模式 - 迭代器

GoF 设计模式 - 解释器

GoF 设计模式 - 命令

GoF 设计模式 - 责任链

类图 - 订购流程

类图 - 类和包的束缚

类图 - 包裹中的类(航空公司)

售票

自我协会

协会等级和自我协会

销售订单零碎

退出移动版