Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Introduction to Composition | Композиція
Об'єктно-орієнтоване програмування на Python

bookIntroduction to Composition

Свайпніть щоб показати меню

Композиція представляє собою відношення має, коли клас містить екземпляр іншого класу замість наслідування від нього. Наприклад, Car має Engine. Це відрізняється від наслідування, яке моделює відношення є, наприклад, Truck є Vehicle.

1234567891011121314151617
class Engine: def start(self): return "Engine started" class Car: def __init__(self, brand, engine): self.brand = brand self.engine = engine # Car HAS an Engine def drive(self): return f"{self.brand}: {self.engine.start()}" engine = Engine() car = Car("Toyota", engine) print(car.drive())
copy

Car не наслідує від Engine. Замість цього він містить об'єкт Engine і використовує його для виконання своєї роботи. Це демонструє відношення має, а не є, що робить дизайн більш гнучким і простим для змін у майбутньому.

Note
Примітка

Складність слід використовувати, коли потрібні гнучкі частини, чіткі межі та заміна поведінки під час виконання. Віддавайте перевагу наслідуванню, коли очевидна та стабільна ієрархія справжнього is-a.

question mark

Яка основна перевага використання складності?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 1
some-alt