Considere o seguinte cenário em programação orientada a objetos: U...

Considere o seguinte cenário em programação orientada a objetos: Uma empresa desenvolve um sistema para gerenciar diferentes tipos de veículos. A classe base


publicidade
Considere o seguinte cenário em programação orientada a objetos:

Uma empresa desenvolve um sistema para gerenciar diferentes tipos de veículos. A classe base Veiculo possui um método chamado calcularConsumo(). Classes derivadas, como Carro, Moto e Caminhao, implementam o método calcularConsumo() de maneiras diferentes, considerando as características específicas de cada tipo de veículo. Além disso, os atributos de cada classe são privados e acessados por métodos públicos.

Com base nesse cenário, qual é a alternativa correta?
Analisando...
publicidade

🚀 Desbloqueie a explicação completa

Veja comentários detalhados e resoluções exclusivas para entender o gabarito desta questão.

Criar conta grátis
  • Camila Duarte
    Camila Duarte EQUIPE
    13/09/2026 • 21:01
    Vamos falar um pouco sobre os conceitos fundamentais da programação orientada a objetos (POO), que são indispensáveis para entender essa questão. Primeiro, temos a herança, onde uma classe derivada herda características (atributos e métodos) de uma classe base, podendo reutilizar e especializar comportamentos.

    No cenário apresentado, temos uma classe base Veiculo e classes derivadas como Carro, Moto e Caminhao. Elas implementam o método calcularConsumo() de formas diferentes, o que exemplifica um princípio chamado polimorfismo: métodos com o mesmo nome que se comportam de maneira distinta conforme o objeto.

    Outro princípio importante é o encapsulamento, que diz respeito a proteger os dados internos (atributos privados) da classe, tornando-os acessíveis apenas através de métodos públicos (getters e setters). Isso assegura controle e segurança sobre o acesso aos dados.

    Analisando as alternativas:
    - (a) fala em herança múltipla, mas o enunciado não diz que as classes derivadas herdam de mais de uma classe base; além disso, herança múltipla não é comum em muitas linguagens de POO e não está claro aqui.
    - (b) é incorreta porque atributos privados não podem ser acessados diretamente pelas classes derivadas, apenas por métodos da classe original.
    - (c) diz que métodos públicos para acessar atributos privados são obrigatórios — isso não é obrigatório, mas recomendado para garantir o encapsulamento.
    - (d) está correta pois o uso de métodos calcularConsumo() diferentes nas classes derivadas é um exemplo claro de polimorfismo, e o uso de atributos privados com métodos públicos para acessá-los representa o encapsulamento.
    - (e) está errada porque métodos privados da classe base não são acessíveis pelas classes derivadas.

    Portanto, a alternativa correta é a letra D.
publicidade
🍪

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.