【问题标题】:Is class aggregation relationship in Java only achieved through instance objects?Java中的类聚合关系是不是只能通过实例对象来实现?
【发布时间】:2018-08-12 15:13:00
【问题描述】:

如果 A 类从 B 类调用一个静态方法,这是否仍然符合“聚合”关系? 那么,类关联是不是也只能通过调用类对象来实现呢,还是调用静态方法才算关联关系呢?

【问题讨论】:

    标签: java oop associations aggregation


    【解决方案1】:

    是的,关联以及它的两种特殊形式,聚合和组合,都是根据对象实例之间的交互来定义的:

    关联定义了对象类之间的关系,它允许一个对象实例导致另一个对象实例代表它执行操作。 [Wikipedia]

    根据实例定义的唯一关系是依赖:例如,通过接收实例作为参数,或调用任何静态方法来建立关系与否。

    【讨论】:

    • 您好,感谢您的回答。那么这是否意味着如果类 A 只是创建一个字符串变量 String x = "chair"; A 类现在正在聚合类 String?
    • @NewLearner 如果x 是类的成员(取决于语言,它可能被称为字段、属性或成员变量),那么它就是一个聚合(HAS-A)。如果它是一个局部变量,那么它只是一个依赖项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    相关资源
    最近更新 更多