【问题标题】:java class relations,Generalization Realization Association Aggregation Composition Dependencyjava类关系,泛化实现关联聚合组合依赖
【发布时间】:2025-11-27 13:45:01
【问题描述】:

在我查看*后,这里有一些问题:

关联:“关联代表了两个类的对象之间共享的静态关系。”,这是否意味着聚合和组合也可以描述为关联?

聚合:“但是,一个聚合可能不涉及两个以上的类”,这是什么意思?说一个班级“有”一位教授,一个班级“有一个”助教。一个教授也“有一个”助教,这不也是聚合,而且涉及两个以上?

依赖:只要两个类是相关的,都可以用依赖来形容吗?我说的对吗?

【问题讨论】:

    标签: java class relationship


    【解决方案1】:

    关联:“关联代表了两个类的对象之间共享的静态关系。”,这是否意味着聚合和组合也可以描述为关联?

    -是的,Aggregation 是一个 Association,它表示“是”关系的一部分,Composition 为 Aggregation 添加了终生责任。

    聚合:“但是,一个聚合可能不涉及两个以上的类”,这是什么意思?说一个班级“有”一位教授,一个班级“有一个”助教。一个教授也“有一个”助教,这不也是聚合,而且涉及两个以上?

    --聚合不允许是循环的。在你的情况下,班级和教授有关系,班级和TA有关系,TA和教授有关系。

    依赖:只要两个类是相关的,都可以用依赖来形容吗?我说的对吗?

    -是的。

    另外,您可能想阅读以下内容: http://www.martinfowler.com/bliki/AggregationAndComposition.html

    【讨论】: