Junior — Middle
O que se entende por conceito de composição na programação orientada a objetos?
sobes.tech IA
Resposta da IA
Na programação orientada por objetos, a composição é um princípio em que um objeto contém referências a outros objetos para usar a sua funcionalidade. É uma forma de construir objetos complexos a partir de objetos mais simples, onde um objeto "é composto" por outros.
A composição difere da herança no sentido de que, em vez de estender uma classe por herança, um objeto inclui outros objetos e delega-lhes parte do trabalho. Isto aumenta a flexibilidade e a reutilização do código.
Exemplo em Swift:
class Engine {
func start() {
print("Motor ligado")
}
}
class Car {
private let engine = Engine() // composição: Car contém Engine
func startCar() {
engine.start() // delega o arranque do motor
}
}
let car = Car()
car.startCar() // Vai mostrar: Motor ligado
Aqui, a classe Car é composta por um objeto Engine e usa os seus métodos, sem herdar dele.