Рубрики
Без рубрики

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

Агрегация и композиция – это в основном концепции управления объектами. … Помеченный как java, агрегация, композиция, ооп.

Агрегация и композиция – это в основном концепции управления объектами.

Агрегация

Агрегация использует слабую связь , что означает, что она не содержит фактического объекта в классе. Вместо этого объект передается через функцию получения или установки. Это дает преимущество в том, что когда объект родительского класса умирает, объект дочернего класса остается нетронутым.

class House {
 private Table table;

 public void setTable(Table table){
  this.table = table
 }

 public Table getTable(){
  return this.table;
 }
}

public class main(String[] args){

 Table table = new Table();

 // this house' table is set externally and will not be deleted 
 // upon deleting this House object
 House house = new House();
 house.setTable(table);

}

Композиция

Композиция использует плотную связь , что означает, что она удерживает объект. Создается переменная экземпляра, и в ней сохраняется объект. Всякий раз, когда объект родительского класса удаляется/удаляется, объект дочернего класса также будет удален.

class Human {

 // This heart will be deleted and nowhere to access once its 
 // human gets deleted
 private Heart heart = new Heart();

}

public class main(String[] args){

 // this human's heart is set internally and will be deleted 
 // upon deleting this Human object
 Human human = new Human();

}

Оригинал: “https://dev.to/muhammadwasi/difference-between-aggregation-and-composition-1p1h”