UML 和 Java 术语对应关系
UML术语 | Java术语 |
泛化(Generalization) 特化(Specialization) | 继承(Inheritance) |
依存性(Dependency) | 依存性(Dependency) |
关联性(Association) | 关联性(Association) |
现实化(Realization)/接口(Interface) | 接口(Interface) |
操作(Operation) | 方法(Method) |
特性(Attribute) | 值域(Field) 属性(Property) |
依赖是对象间最弱的一种关系,一个对象依赖于另一个对象是指这个对象和它之间存在短期的关系。
在这个短暂的关系中,依赖的对象通过调用被依赖对象的方法来获取它提供的服务,或者依此来配置被依赖的对象。
关联是对象间长期的关系。在关联中,一个对象保存对另一个对象的引用,并在需要的时候调用这个对象的方法。
依赖一般的表现方法是方法的局部变量,或者是方法内对静态方法的引用。
关联一般的表现方法是对象的全局变量。
依赖:
class A
{
void methodA()
{
B b = new B();
b.methodB();
}
}
关联:
class B
{
B b = new B();
void methodA()
{
b.methodB();
}
}
聚合表明一个对象是一个更大的整体的一部分。这个被包含的对象可能会参与多个的聚合关系,并相对整体而对立存在。
组合表明一个对象是被一个更大的整体所拥有。这个被包含的对象可能不参与更多的组合关系,并且不能独立于这个整体而存在。