Разница между агрегацией и ассоциацией в переполнении стека

Вопрос о реализации отношений между классами. В PHP
Известно, что каждая агрегация является ассоциацией. Но не каждая ассоциация является совокупностью.
Но в чем разница между ними? С точки зрения реализации.

Конечно, там много похожих вопросов и ответов.

Вот несколько ответов. Но они почти без кода.

Вот некоторые ответы также, с кодом.

Например, ассоциация:

public class Foo {
void Baz(Bar bar) {
}
}

Агрегация:

public class Foo {
private Bar bar;
Foo(Bar bar) {
this.bar = bar;
}
}

Тем не менее, «в этом случае и код ассоциации, и код агрегации одинаковы. В обоих случаях просто указывается« bar », и объект Bar может жить».
Кажется, немного сбивает с толку.

Другой пример. «Агрегация […] является типичным отношением« целое / часть ». Это то же самое, что и ассоциация, за исключением того, что экземпляры не могут иметь отношения циклического агрегирования (т.е. часть не может содержать свое целое)».
Это единственное отличие?

Можете ли вы привести пример в PHP, показывающий разницу?

Спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …