Junior — Middle
Cosa si intende per concetto di composizione nella programmazione orientata agli oggetti?
sobes.tech AI
Risposta dell'AI
Nella programmazione orientata agli oggetti, la composizione è un principio secondo cui un oggetto contiene riferimenti ad altri oggetti per utilizzare le loro funzionalità. È un modo per costruire oggetti complessi partendo da quelli più semplici, dove un oggetto "è composto" da altri.
La composizione si differenzia dall'ereditarietà nel fatto che, invece di estendere una classe tramite ereditarietà, un oggetto include altri oggetti e delega loro parte del lavoro. Questo aumenta la flessibilità e il riutilizzo del codice.
Esempio in Swift:
class Engine {
func start() {
print("Motore avviato")
}
}
class Car {
private let engine = Engine() // composizione: Car contiene Engine
func startCar() {
engine.start() // delega l'avvio del motore
}
}
let car = Car()
car.startCar() // Mostrerà: Motore avviato
Qui, la classe Car è composta da un oggetto Engine e utilizza i suoi metodi, senza ereditarietà.