

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Considere o seguinte código em Java:

Com base nos princípios da Programação Orientada a Objetos e no mecanismo de herança, analise as afirmativas a seguir:
I. A classe Cachorro herda o atributo nome da classe Animal e pode acessá-lo diretamente por ele ter sido declarado como protected.
II. A anotação @Override garante, em tempo de compilação, que o método emitirSom() da subclasse esteja sobrescrevendo corretamente um método da superclasse.
III. Caso o construtor da classe Cachorro não chamasse explicitamente super(nome), o código ainda compilariam normalmente, pois o construtor da superclasse é automaticamente herdado.
IV. A classe Cachorro especializa o comportamento da superclasse ao redefinir o método emitirSom(), caracterizando polimorfismo por sobrescrita.
Assinale a alternativa CORRETA:
Apenas I, II e IV estão corretas.
Apenas I e III estão corretas.
Apenas II e IV estão corretas.
Apenas I, II e III estão corretas.
I, II, III e IV estão corretas.