Uma empresa de TI está desenvolvendo um sistema de monitoramento ambiental para a prefeitura municipal. O sistema precisa modelar diferentes tipos de sensores ambientais, como sensores de temperatura e umidade, seguindo os princípios da Programação Orientada a Objetos (POO). Os desenvolvedores iniciam a modelagem com o seguinte código em Java: public class Sensor { protected String nome; public Sensor(String nome) { this.nome = nome; } public void medir() { System.out.println("Medição genérica realizada."); } } public class SensorTemperatura ______ Sensor { public void medir() { System.out.println("Medição de temperatura realizada."); } } Assinale a alternativa que completa corretamente a lacuna no código, para que a classe SensorTemperatura herde corretamente o comportamento da classe Sensor.
- A)public class SensorTemperatura extends Sensor
Correta, porque extends Sensor é a sintaxe de herança em Java, permitindo que SensorTemperatura herde de Sensor.
- B)public class SensorTemperatura extends Object
Errada, porque Object é a superclasse raiz em Java, mas aqui a classe deve herdar diretamente de Sensor, não apenas de Object.
- C)public class SensorTemperatura inherits Sensor
Errada, porque inherits não é uma palavra-chave válida em Java para herança.
- D)public class SensorTemperatura implements Sensor
Errada, porque implements é usado para implementar interfaces, e Sensor é uma classe, não uma interface.
Gabarito: A
Em Java, a palavra-chave usada para herança entre classes é extends. Ela indica que uma classe “filha” vai reaproveitar os atributos e métodos da classe “pai”, podendo também sobrescrever comportamentos, como acontece com o método medir() neste caso. É exatamente o que o enunciado quer: uma classe SensorTemperatura que herde de Sensor. Quando você vê uma classe que deve compartilhar a estrutura e o comportamento básico de outra, pense em herança. Aqui, Sensor já tem nome e o método medir() genérico. A subclasse SensorTemperatura pode especializar esse comportamento, trocando a mensagem para uma medição específica de temperatura. Isso é polimorfismo na prática, bem no estilo “mesma operação, resultado mais específico”. Por isso, a lacuna deve ser preenchida com extends Sensor. Assim, SensorTemperatura passa a ser uma subclasse de Sensor e herda seus membros protegidos e públicos. Em Java, isso é o padrão da linguagem e está alinhado com a ideia clássica da POO: reutilização e especialização. As demais alternativas tentam confundir com palavras que não representam herança em Java. Uma classe concreta não implementa outra classe, e Object é apenas a classe raiz de todas as classes, não a relação pedida no enunciado. Então o gabarito A está correto porque expressa exatamente a sintaxe válida de herança.