Logo Passei Direto
Buscar

Filosofia

Exatas
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.
User badge image
Márcio Guitarra AD marataizes

há 2 meses

Respostas

User badge image

Ed Verified user icon

há 2 meses

Vamos analisar o problema passo a passo: - Todos os veículos compartilham atributos e métodos comuns (número de rodas, capacidade de carga, ligar/desligar). - Cada tipo de veículo tem particularidades específicas. - Todos os veículos devem obrigatoriamente implementar o contrato de rastreamento (rastreáveis em tempo real, posição no mapa, histórico de rotas). - O sistema deve permitir que novos tipos de veículos também implementem esse contrato de forma uniforme. - É necessário centralizar os atributos e métodos comuns, garantindo que o contrato de rastreamento seja implementado por todos. Analisando as alternativas: a) Usar apenas uma classe abstrata Veículo que reúna atributos, métodos comuns e o contrato de rastreamento: Problema: Em muitas linguagens, uma classe abstrata não pode garantir a implementação de um contrato (interface) de forma flexível, e pode limitar a herança múltipla. b) Usar apenas uma interface Rastreável que defina atributos e métodos concretos: Problema: Interfaces geralmente não definem atributos nem métodos concretos, apenas assinaturas. c) Combinar uma classe abstrata Veículo para atributos e métodos comuns, com uma interface Rastreável para o contrato de rastreamento: Vantagem: Classe abstrata centraliza atributos e métodos comuns; interface garante que todos os veículos implementem o contrato de rastreamento; permite flexibilidade para novos tipos de veículos. d) Criar múltiplas interfaces para cada tipo de veículo, eliminando a classe abstrata: Problema: Perde-se a centralização dos atributos e métodos comuns. e) Criar hierarquia de classes concretas para cada tipo de veículo, sem interfaces ou classes abstratas: Problema: Não garante uniformidade no contrato de rastreamento e dificulta manutenção e extensibilidade. Portanto, a alternativa que melhor atende aos requisitos é: c) Combinar uma classe abstrata Veículo para atributos e métodos comuns, com uma interface Rastreável para o contrato de rastreamento.

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina