Uma empresa de logística está desenvolvendo um sistema para monitorar veículos de entrega. Todos os veículos compartilham atributos básicos, como número de rodas, capacidade de carga e operações como ligar e desligar. Além disso, cada veículo possui particularidades: caminhões podem ter reboque, motocicletas lidam com limites de velocidade específicos, e vans possuem diferentes configurações de carga. Outro requisito do sistema é que todos os veículos possam ser rastreáveis em tempo real, exibindo sua posição em um mapa e registrando histórico de rotas. Esse comportamento deve ser aplicado de forma uniforme, inclusive para novos tipos de veículos que forem adicionados no futuro. O desafio do projeto é analisar como centralizar atributos e métodos comuns aos veículos, ao mesmo tempo em que se garante que qualquer veículo concreto implemente obrigatoriamente o contrato de rastreamento. No cenário descrito, qual solução atende melhor aos requisitos do sistema? Selecione uma alternativa: a) Utilizar apenas uma classe abstrata Veículo, que reúna atributos, métodos comuns e também o contrato de rastreamento. b) Utilizar apenas uma interface Rastreável, que defina tanto atributos quanto métodos concretos para todos os veículos. c) Combinar uma classe abstrata Veículo para atributos e métodos comuns, com uma interface Rastreável para o contrato de rastreamento. d) Criar múltiplas interfaces distintas para cada tipo de veículo, eliminando a necessidade de uma classe abstrata. e) Criar uma hierarquia de classes concretas para cada tipo de veículo, sem o uso de interfaces ou classes abstratas.