hiwa doski Ответов: 2

В чем разница между двумя приведенными ниже примерами?


что отличает композицию от агрегации, они оба объявлены как частные, так это то, что в Примере композиции Мы создаем объект класса Address в конструкторе Person, если это то, как это делает объект Person управляющим/владельцем объекта Address.

Пример Композиции:
public class Person {

private String firstName;
private String lastName;
private Address address;

//Composition example
public Person() {
    address = new Address();
}



public Address getAddress() {
    return address;
}


}


Пример агрегации

Employee Class

public class Employee {

private String firstName;
private String lastName;
private int age;

//Aggregation Java example
private Address address;


public void setAddress(Address address) {
    this.address = address;
}
public Address getAddress() {
    return address;
}

}


Что я уже пробовал:

я ничего не мог предпринять.

2 Ответов

Рейтинг:
2

Gerry Schmitz

Оба являются "агрегацией" (адрес и сотрудник могут существовать независимо); второй также показывает "инъекцию".

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/


hiwa doski

Спасибо.

Рейтинг:
0

hiwa doski

Ладно, спасибо.

Maciej Los

Всегда пожалуйста.