You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UML类图:通过构造函数传参的类关系属于依赖还是关联?

问题解答

你给出的代码示例如下:

public class ClassA{
     public ClassA(ClassB b){
          // do some operations or get some values etc. from ClassB b
     }
}

结论:该关系属于依赖(Dependency),不属于关联关系

判断依据

  • 关联关系的核心特征是类之间存在结构化的长期引用关系:即其中一个类会将另一个类的实例存储为自身的成员属性,在类实例的整个生命周期内都可以访问该关联对象,是强度高于依赖的关系。
  • 依赖关系的核心特征是临时使用关系:仅在某段方法(包括构造方法、普通成员方法等)的执行周期内用到另一个类的实例,不会将实例留存为自身成员属性,方法执行完成后就不再持有对应实例的引用。

你描述的场景中,ClassA仅在构造方法执行过程中临时使用ClassB的实例,没有将其定义为成员属性存储,构造执行完成后ClassA的实例无法再访问该ClassB对象,完全符合依赖关系的定义。

扩展区分:如果ClassA中定义了ClassB类型的成员属性,且在构造方法中将传入的参数赋值给该成员属性,此时ClassA和ClassB才属于关联关系。

内容的提问来源于stack exchange,提问作者Ymi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:36:07