У Java композиція в об'єктно-орієнтованому програмуванні означає, що один клас містить об'єкт іншого класу. Це допомагає створювати більш складні типи з простіших класів.
Композицію можна описати як відношення "має" (has-a), тобто коли один об'єкт має інший об'єкт.
Простий приклад:
Припустимо, у нас є класи Машина
та Двигун
. Ми можемо показати, що Машина
має Двигун
:
class Dvigun {
void zapustyt() {
System.out.println("Двигун запустився!");
}
}
class Mashyna {
// Машина має “двигун”
Dvigun dvigun = new Dvigun(); // Композиція
void yihaty() {
dvigun.zapustyt(); // Використовуємо двигун
System.out.println("Машина їде!");
}
}
public class Main {
public static void main(String[] args) {
Mashyna mashynay = new Mashyna(); // Створюємо об'єкт машини
mashynay.yihaty(); // Викликаємо метод їзди з використанням двигуна
}
}
Пояснення:
- Клас
Mashyna
має об'єктDvigun
. - Клас
Mashyna
використовуєDvigun
у методіyihaty
для запуску машини. - Це є композицією, оскільки клас
Mashyna
має об'єктDvigun
.
Перекладено з: Java Composition nədir?