首页 > 其他 > 详细

UML中的关系

时间:2015-06-16 11:11:18      阅读:164      评论:0      收藏:0      [点我收藏+]

UML中的关系

1、依赖(dependency)

ProductWorker--->Math表示ProductWorker依赖于Math
从层次结构来看,这两个类是属于同一层的

技术分享
依赖关系主要表现为方法的参数,静态方法的调用

public class ProductWorker{
    private double baseSalary;
    private int piece;
    public ProductWorker(double baseSalary, int piece=0){
        setBaseSalary(baseSalary);
        setPiece(piece);
    }
    public void setBaseSalary(double baseSalary){
        this.baseSalary = baseSalary;
    }
    public void setPiece(double piece){
        setPiece(piece);
    }
    public double getSalary(int coe){//coe为计算工资的相关系数
        return Math.sqrt((double)(coe*piece));
    }
}
上面的依赖关系是静态方法的调用, ProductWorker--->Math

2.1、关联(association)之聚集

聚集是has-a的关系,即一个类是另一个类的成员变量
技术分享

2.2、关联(association)之组合

被组合对象的生命周期和组合对象的生命周期一样,一起被创建,且一起消亡

技术分享

3、泛化(generalization)(即继承)

技术分享

class Worker{
    public void work();
}
class ProductWorker extends Worker{
}

4、实现(realization)(即实现接口)

技术分享

public class ProductWorker implements Comparable<ProductWorker>{
    public int compareTo(E rhs){
    }
}
 综上所述,对于继承、实现这两种关系比较简单,他们体现的是一种类与类、或者类与接口间的纵向关系;这几种关系都是语义级别的,所以从代码层面并不能完全区分各种关系;从后几种关系所表现的强弱程度来看,依次为:组合>聚合>依赖。
 并不是很能理解组合和聚集的关系

UML中的关系

原文:http://blog.csdn.net/u012501262/article/details/46513897

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!