什么是类图?
l 类图( class diagram) 描述了类与类之间的静态关系。 它不仅定义系统中的 类 ,表示类之间的 联系 (关联、依赖、聚合等),还包括类的 内部结构 (类的属性和操作)。
类图的组成
类名、属性和操作
属性的可见性
公有(Public) “+” 所有类可见
私有(Private)“-” 该类及子孙可见
受保护(Protected)“#”只对该类本身可见
类图中的事物及解释
接口 一组操作的集合,只有操作的声明而没有实现
抽象类 不能被实例化的类,一般至少包含一个抽象操作
模版类 一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类
类图中的关系及解释
1 关联关系: 描述了类的结构之间的关系。具有方向、名字、角色和多重性等信息。一般的关 联关系语义较弱。也有两种语义较强,分别是聚合与组合
1.1聚合关系 : 特殊关联关系,指明一个聚集(整体)和组成部分之间的关系
符合表示:
1.2 组合关系 :语义更强的聚合,部分和整体具有相同的生命周期,组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了
符合表示:
2 泛化关系
在面向对象中一般称为继承关系,存在于父类与子类、父接口与子接口之间
符合表示:
3 实现(Realization):是一种类与接口的关系,表示类是接口所有特征和行为的实现(对应于类和接口之间的关系)
4 依赖关系 : 描述了一个类的变化对依赖于它的类产生影响的情况。
各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
类图与代码的映射
public class car { public int Start(); public int Stop(); public int Run(float Speed); private float Speed; }
+car |
-Speed:float |
+Start():int +Stop():int +run(float:Speed):int |