类图中的关系的关系是指:类和类、接口;接口与接口之间的关系。
关系:
1.一般关系:Generalization
适用于:类和类、接口;接口与接口之间
意思:表示继承关系。
符号:空心三角形 由子类指向父类;或由类指向接口
Java中的实现:implements,extends
2.关联关系:Association
适用于:类和类之间
意思:表示类之间的联接,使得一个类知道另一个类的属性和方法。
符号: 实线。有箭头;有基数multiplicity,表可有几个实例。可有方向,单向、双向
Java中的实现:指向类中存在一个被指向类的实例变量
3.聚合关系:Aggregation
适用于:类和类之间
意思:表示类之间的联接,使得一个类知道另一个类的属性和方法。 + 表整体和个体之间关系。
符号: 实线。有箭头;有基数multiplicity,表可有几个实例。可有方向,单向、双向+ 指向类的箭头是空心三角形。
Java中的实现:指向类中存在一个被指向类的实例变量
其它:更强的关联关系
4.合成关系:Composition
适用于:类和类之间
意思:表示类之间的联接,使得一个类知道另一个类的属性和方法。+ 表整体和个体之间关系。+ 代表整体的对象要负责代表部分的对象的生命周期。
符号: 实线。有箭头;有基数multiplicity,表可有几个实例。可有方向,单向、双向 + 指向类的箭头是实心三角形。
Java中的实现:指向类中存在一个被指向类的实例变量
其它:1.更强的聚合关系 2.任意时刻,部分对象只能与一个整体对象是合成关系 3.合成关系不能共享!
5.依赖关系:Dependency
适用于:类和类之间
意思:表示 表示一个类依赖于另一个类的定义。
符号: 虚线。有箭头;有基数multiplicity,表可有几个实例。可有方向,单向、双向
Java中的实现:1.局域变量,2.方法的参量,3.静态方法的调用
其它:依赖关系:Dependency 与关联关系:Association之不同:被指向类为局域变量还是实例变量
关系:
1.一般关系:Generalization
适用于:类和类、接口;接口与接口之间
意思:表示继承关系。
符号:空心三角形 由子类指向父类;或由类指向接口
Java中的实现:implements,extends
2.关联关系:Association
适用于:类和类之间
意思:表示类之间的联接,使得一个类知道另一个类的属性和方法。
符号: 实线。有箭头;有基数multiplicity,表可有几个实例。可有方向,单向、双向
Java中的实现:指向类中存在一个被指向类的实例变量
3.聚合关系:Aggregation
适用于:类和类之间
意思:表示类之间的联接,使得一个类知道另一个类的属性和方法。 + 表整体和个体之间关系。
符号: 实线。有箭头;有基数multiplicity,表可有几个实例。可有方向,单向、双向+ 指向类的箭头是空心三角形。
Java中的实现:指向类中存在一个被指向类的实例变量
其它:更强的关联关系
4.合成关系:Composition
适用于:类和类之间
意思:表示类之间的联接,使得一个类知道另一个类的属性和方法。+ 表整体和个体之间关系。+ 代表整体的对象要负责代表部分的对象的生命周期。
符号: 实线。有箭头;有基数multiplicity,表可有几个实例。可有方向,单向、双向 + 指向类的箭头是实心三角形。
Java中的实现:指向类中存在一个被指向类的实例变量
其它:1.更强的聚合关系 2.任意时刻,部分对象只能与一个整体对象是合成关系 3.合成关系不能共享!
5.依赖关系:Dependency
适用于:类和类之间
意思:表示 表示一个类依赖于另一个类的定义。
符号: 虚线。有箭头;有基数multiplicity,表可有几个实例。可有方向,单向、双向
Java中的实现:1.局域变量,2.方法的参量,3.静态方法的调用
其它:依赖关系:Dependency 与关联关系:Association之不同:被指向类为局域变量还是实例变量