UML类图

简介:

  什么是UML?UML是一种用于创建程序模型的可视化语言。UML有多重功能不同的图。通过使用UML,可以让复杂的系统变的简单且容易理解。因为系统常常都是让人难人理解,并且系统之内的信息处理也是相当复杂,而UML提供了不同的图来表示不同类型的信息。 

什么是类图 

  UML图中最最基本的是类图。它对类做描述,并表示类之间的关系。

  类之间的关系包括:

  •   类A 是    类B :is-a的关系
  •   类A 包含 类B : has-a的关系
  •   类A 使用 类B : has-a的关系

  那么,对于一个类来说,主要表现三方面的内容:

  •   类的名称
  •   类的数据结构
  •   类的方法

  对一个类来说,“+”表示公共的;“#”表示保护的;“-”表示私有的。

  那么对于一个类,如

复制代码
class A{
public:
  void print();
protected:
  void getData();
private:
  int data;
}
复制代码

类图的几种关系

  在UML类图中,常见的有以下几种关系:泛化(Generalization,  实现(Realization,关联(Association),聚合(Aggregation,组合(Composition),依赖(Dependency)

泛化

  • 是一种继承关系,它指定了子类如何特化父类的所有特征和行为。
  • 用空心三解箭头表示。

 

关联

  • 是一种拥有的关系,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。
  • 用直线,或带箭头的直线表示。

 

聚合

  • 是整体与部分的关系。
  • 用带空心菱形的实心线表示,菱形指向整体。

 

组合

  • 同样是整体与部分的关系,但是它比聚合的关系要强。
  • 用带实心菱形的实线表示,菱形指向整体。

 

依赖

  • 是一种使用的关系,所以要尽量不使用双向的互相依赖。
  • 用带箭头的虚线表示,指向被使用者。

 

实现

  • 是一种类与接口的关系,表示类是接口所有特征和行为的实现
  • 用带三角箭头的虚线表示,箭头指向接口

 

参考

Design Patterns Explained

http://blog.csdn.net/tianhai110/article/details/6339565

知识共享许可协议
本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012


相关文章
|
人工智能
【AI绘画】ControlNet 之 Reference only 锁定面部跑图
【AI绘画】ControlNet 之 Reference only 锁定面部跑图
1148 0
|
存储 分布式计算 API
Open Stack简介
Open Stack简介
624 0
|
SQL 索引 数据库
使用instr 函数优化替换Like条件子句提高数据检索性能案例总结
使用instr 函数优化替换Like条件子句提高数据检索性能
1271 0
使用instr 函数优化替换Like条件子句提高数据检索性能案例总结
|
11月前
|
人工智能 Rust Apache
|
机器学习/深度学习 并行计算 算法
XGBoost的原理
XGBoost的原理
265 3
|
11月前
|
开发框架 分布式计算 前端开发
ArkUI 介绍
【10月更文挑战第12天】
705 10
|
11月前
|
机器学习/深度学习 自然语言处理 语音技术
RNN是什么?哪些地方应用的多?
【10月更文挑战第8天】RNN是什么?哪些地方应用的多?
647 0
|
11月前
|
存储 SQL 数据库
深入理解数据库索引:提升查询性能的关键
数据库索引是优化查询性能的重要工具。本文将带你深入探索索引的内部结构和工作原理,揭示如何通过合理使用索引来加速数据库查询,同时避免常见的索引陷阱。
|
XML Java 数据格式
鸿蒙开发(7)---Picker组件
鸿蒙开发(7)---Picker组件
414 0
鸿蒙开发(7)---Picker组件
|
存储 算法 搜索推荐
作为程序员必须掌握的经典算法
作为程序员必须掌握的经典算法