UML如何描述类之间的关系(三)
作者:Balan
接着我介绍一下依赖、泛化和实现关系。
4,依赖关系(Dependency)
对象管理组织(OMG)在其最新的UML规范(V 2.1.1 2007-02-05)上是这么描述依赖关系的:
依赖关系是指一个单独的或者一组的模型元素从规范或者实现的角度,需要其他的模型元素的存在。完整的含义是:依赖方(客户方、需求方)的元素要么从语义层面,要么从结构层面,依赖供应方元素(有时不仅是一个)的定义。( 7.3.12 Dependency, Page 62)
这就是“规范说明”,为了支持对各种实现者的指导,它坚持自己的抽象风格,从而不太方便人们的理解。
简单而言,依赖关系是一种局部使用关系。A类使用B类,则说明A类依赖于B类,图示如下:
A类在两种情况下使用B类:
1,A类负责构造B类的实例,即A类使用B类的构造器
【图示】
【代码】
package uml;
public class CarFactory {
public Car makeNewCar(){
return new Car();
}
}
2,A类使用B类实例的其他方法或者属性
【图示】
【代码】
package uml;
public class Person {
public void drive2Office(Car myCar){
myCar.run();
}
}
5,泛化关系(Generalization)
泛化就是一般化、概括或总结。父类是对子类的泛化,另一方面看,子类是对父类的继承。
6,实现关系(Realization)
一般是指接口与其实现类的关系。