私はこの定義に出くわしました
集約には、反対称性、推移性という 2 つのプロパティがあります。
どういう意味ですか?
ありがとう
集約は、オブジェクトのモノが別のオブジェクトの一部であるオブジェクト合成の一種です。これは、一方のオブジェクトが他方のオブジェクトを所有する所有権とは対照的です。
たとえば、車はエンジン、ホイールなどの多くの部品で構成されています。部品は車のオブジェクトに集約されます。
しかし、別の例 (私がオンラインで見つけたもの) では、Person オブジェクトに車がある場合、それは集計ではありません。人はそれを所有していますが、車は人の一部ではありません。
この違いの重要な結果は、オブジェクトが破棄されると、その集約された部分も同様に破棄される必要があるということです。ただし、その一部ではない所有するオブジェクトはそのままにしておく必要があります。
したがって、定義に:
非対称性- 正確な定義を見つけることができませんでしたが、私の直感では、これは 2 つのオブジェクトが互いに部分的ではないことを意味します。オブジェクト A は B を集約しますが、同時に逆になることはありません (A と B が等しい場合を除きます。これは、OOP よりも集合論に関するものです)。私の腕は私の一部ですが、私は私の腕の一部になることはできません。
推移性- 数学における推移性のようなものです。A が B の一部であり、B が C の一部である場合、A は C の一部でなければなりません。私の手は私の腕の一部であり、私の腕は私の一部です。したがって、私の手は私の一部です。