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.
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.