我遇到了这个定义
聚合有两个性质:反对称、传递性
这是什么意思?
谢谢
聚合是一种对象组合,其中对象事物是另一个对象的一部分。这与所有权形成对比,所有权是一个对象拥有另一个对象。
例如,一辆汽车由许多部件组成——发动机、车轮等。这些部件被聚合到汽车对象中。
但是,在另一个示例(我在网上找到)中,如果 Person 对象有汽车,那不是聚合。人拥有它,但汽车不是人的一部分。
这种差异的一个重要结果是,当一个对象被销毁时,它的聚合部分也应该被销毁。但是它拥有的不属于它的对象应该保持不变。
因此,对于定义:
反对称- 我找不到确切的定义,但我的直觉告诉我,这意味着两个对象不能彼此成为一部分。对象 A 聚合 B,但绝不会同时反之(除非 A 和 B 相等,这更多地是关于集合论而不是 OOP)。我的手臂是我的一部分,但我不能成为我手臂的一部分。
传递性 - 就像数学中的传递性一样。如果A是B的一部分,B是C的一部分,那么A一定是C的一部分。我的手是我手臂的一部分,我的手臂是我的一部分,因此我的手是我的一部分。