Questão nº 49
Questão de Tecnologia da Informação · FGV TCE-TO 2022 (nº 49)
O sistema de controle automotivo SisAut foi modelado orientado a objetos. O SisAut possui a classe Veículo, que compartilha seu código-fonte com suas subclasses: Carro e Moto. As subclasses Carro e Moto aproveitam os métodos e atributos da classe Veículo.
Em orientação a objeto, o mecanismo pelo qual uma classe pode estender outra classe ou ser estendida por outra classe é:
- Ainterface;
- Bherança; (alternativa correta)
- Cpacotes;
- Dagregação;
- Eencapsulamento.
Resposta comentada
Gabarito Alternativa B
Herança é o mecanismo em que uma classe filha reaproveita (estende) os atributos e métodos de uma classe pai, criando uma relação "é um" (ex.: Carro é um Veículo). Isso evita reescrever código e permite polimorfismo.
- (A) Incorreta: Interface define um contrato de métodos que a classe deve implementar, mas não compartilha código-fonte (atributos ou implementações) — diferente da herança.
- (B) Correta: Herança é exatamente o mecanismo pelo qual
CarroeMotoestendemVeículo, herdando seus métodos e atributos, como descrito no enunciado. - (C) Incorreta: Pacotes são apenas organizadores de classes em diretórios lógicos, não permitem que uma classe estenda outra.
- (D) Incorreta: Agregação é uma relação "tem um" (ex.: Carro tem um Motor), onde uma classe contém outra como parte, mas não herda seu código.
- (E) Incorreta: Encapsulamento protege os dados internos de uma classe (visibilidade
private/public), mas não é o mecanismo de extensão entre classes.
Armadilha da banca: A alternativa D (agregação) é a mais tentadora, pois em modelagem de sistemas automotivos é comum "compor" objetos (Carro tem Motor). Mas o enunciado fala em "compartilhar código-fonte" e "aproveitar métodos e atributos", o que só ocorre na herança — a agregação apenas conecta objetos independentes, sem herdar comportamento.
Fonte: FGV TCE-TO 2022 Auditor de Controle Externo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.