UML类之间的一些关系

来源:互联网 发布:棋牌辅助作弊软件 编辑:程序博客网 时间:2024/05/16 10:47

类间的关系

四种关系详解析

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

先列出一张UML关系图
这里写图片描述

依赖

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

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



1 0
原创粉丝点击