UML类之间的一些关系

类间的关系

四种关系详解析

  • 依赖 (Dependency)
  • 关联 (Association)
  • 聚合 (Aggregation)
  • 组合 (Composition)

先列出一张UML关系图
UML类之间的一些关系_第1张图片

依赖

学生上学这个功能怎么实现呢?学生可以通过骑自行车去上学。

public class Student {

   public void goToSchool() {
       Bike bike = new Bike();
       bike.drive(this);
   }
}

学生依赖自行车

关联

组合(Composition)

说说“轮胎”,“发动机”与“小汽车”的关系。
从oo的思想来理解,“轮胎”和“发动机”是“小汽车”的组成部分。用java代码表示就是:

public class Car {

    private Tyre tyre = new Tyre();
    private Engine engine = new Engine();

}

聚合(Aggregation)

对于一个班级来说学生可以来也可以离开,来去自如。

public class Class {

   private Student student;

    public Student getStudent() {
        return student;
    }

    public void setStudent(Student student) {
        this.student = student;
    }
}

组合和聚合小结

关于“组合”和“聚合”怎么来区分还是比较麻烦的,但是看了一篇文章之后:
处于聚合关系的两个类生命周期不同步,则是聚合关系;处于组合关系的两个类的生命周期同步;
这样来区分就容易多了。

http://www.cnblogs.com/floodpeak/archive/2008/02/27/1083533.html



你可能感兴趣的:(工具学习)