Junior — Middle
¿Qué se entiende por concepto de composición en programación orientada a objetos?
sobes.tech AI
Respuesta de la IA
En la programación orientada a objetos, la composición es un principio en el que un objeto contiene referencias a otros objetos para utilizar su funcionalidad. Es una forma de construir objetos complejos a partir de otros más simples, donde un objeto "consta" de otros.
La composición se diferencia de la herencia en que, en lugar de extender una clase mediante herencia, un objeto incluye otros objetos y delegales parte del trabajo. Esto aumenta la flexibilidad y la reutilización del código.
Ejemplo en Swift:
class Engine {
func start() {
print("Motor encendido")
}
}
class Car {
private let engine = Engine() // composición: Car contiene Engine
func startCar() {
engine.start() // delegamos el arranque del motor
}
}
let car = Car()
car.startCar() // Mostrará: Motor encendido
Aquí, la clase Car está compuesta por un objeto Engine y utiliza sus métodos, sin heredar de él.