Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Introduzione alla composizione | Composizione
Programmazione Orientata Agli Oggetti in Python

bookIntroduzione alla composizione

Scorri per mostrare il menu

Composizione rappresenta una relazione has-a, in cui una classe contiene un'istanza di un'altra classe invece di ereditarla. Ad esempio, una Car has an Engine. Questo differisce dall'ereditarietà, che modella una relazione 'is-a', come ad esempio una Truck is a 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 non eredita da Engine. Invece, contiene un oggetto Engine e lo utilizza per svolgere le sue funzioni. Questo mostra una relazione has-a, non is-a, rendendo il design più flessibile e facile da modificare in futuro.

Note
Nota

Si dovrebbe utilizzare la composizione quando sono necessarie parti flessibili, confini chiari e sostituzione del comportamento a runtime. Preferire l'ereditarietà quando una gerarchia is-a è evidente e stabile.

question mark

Qual è il principale vantaggio dell'utilizzo della composizione?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 3. Capitolo 1
some-alt