什么是类图
类图(Class diagram)显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。它既用于应用程序的系统分类的一般概念建模,也用于详细建模,将模型转换成编程代码。
类图作用
描述类的本身结构以及类与类之间一些关系
类图的元素
在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依赖(Dependency)关系、泛化(Generalization)关系、关联(Association)关系、聚合关系(Aggregation)、组合关系(Composition)和实现(Realization)关系。
类图中类的组成
C++中一个类的类图组成如下图:
公有属性的 name、私有属性的 age、保护属性的 weight
公有属性的成员函数 eat()
+: 公有属性
-: 私有属性
#: 保护属性
name:string 成员名:类型
eat():void 成员函数:返回值类型
斜体:抽象类或者纯虚函数
类中图类的关系
-
依赖(Dependency)关系
依赖关系是指两个或多个类之间的依存关系,如植物类依赖于土壤类。 依赖关系还可以再细分为5种类型,分别是绑定(Binding)依赖、实现(Realization)依赖、使用(Usage)依赖、抽象(Abstraction)依赖和授权(Permission)依赖。
(依赖关系用虚线箭头来表示,箭头指向为依赖的方向)
-
泛化(Generalization)关系
简单的讲就是类之间的继承关系。
(用空心三角形+实线来表示,箭头指向为父类)
-
关联(Association)关系
关联关系是类之间一种相互影响的关系,影响的方向就是关联的方向。
(关联关系用实线箭头来表示)
-
聚合(Aggregation)关系
聚合关系是类之间的一种较弱的耦合关系,如一个字符串数组和一个字符串就是一种聚合关系。
(空心的菱形+实线箭头来表示,箭头指向为被聚合的类)
-
组合(Composition)关系
组合关系是类之间一种整体与部分之间的关系,如一只青蛙有四条腿,青蛙类与青蛙腿类之间的关系就是组合关系。
(组合关系用实心的菱形+实线箭头来表示,箭头指向为被组合的类)
-
实现(Realization)关系
一般来讲实现关系是针对类与接口之间的关系而言的。
(实现关系用空心三角形+虚线来表示)