UML把类之间的关系分为五种:
一、关联
关联指的是类之间的特定对应关系,其实质是类的对象之间的关系。
关联的两个类对应关系分为一对一、一对多、多对多三种。
如图所示,表示了Customer类和Order类之间的关联关系。关联关系表明了Customer类的对象和Order类的对象存在对应关系,本例为一对多关系,即一个Customer类的对象对应多个Order类的对象。如果类A与类B关联,那么在类A中会包含类B类型的属性。
定义Order类
1 class Order{ 2 private Customer customer; 3 public void setcustomer(Customer customer){ 4 this.customer = customer; 5 } 6 public Customer getcustomer(){ 7 return this.customer; 8 } 9 }
以上代码定义了Order类与Customer类的关联关系。接下来定义Customer类与Order 类的关联关系。
1 public class Customer( 2 private Set<Order> orders = new HashSet<order>(); 3 public void setOrders(Set orders){ 4 this.orders = orders; 5 } 6 public Set getOrders(){ 7 return this.orders; 8 } 9 )
二、 依赖
依赖指类之间的调用关系。在UML中用带箭头的虚线表示。如图表示Panel类依赖于Shape类。如果类A访问类B的属性或方法,或者类A实例化类B,就可以说类A依赖于类B。
三、聚集
聚集表示部分与整体之间的关系,在UML中用带菱形箭头的实线表示。
四、泛化
泛化指的是类之间的继承关系,在UML中用带三角形箭头的实现表示。
五、实现
实现指的是类和接口间的关系。在UML中用带三角形的虚线表示。