Sobrescrita (override) em Java
A sobrescrita (ou override) em Java está diretamente relacionada à orientação a objetos, mais especificamente com a herança.
Com a sobrescrita, conseguimos especializar os métodos herdados das superclasses, alterando o seu comportamento nas subclasses por um mais específico.
A sobrescrita de métodos consiste basicamente em criar um novo método na classe filha contendo a mesma assinatura e mesmo tipo de retorno do método sobrescrito.
O método deve possuir o mesmo nome, a mesma quantidade e o mesmo tipo de parâmetros utilizado no método sobrescrito.
Com relação ao tipo de retorno, este pode ser um subtipo do tipo de retorno do método sobrescrito, por exemplo: se o método da superclasse retornar um List, é permitido que o novo método retorne um ArrayList ou qualquer outro List.
No entanto o oposto não é permitido, gerando um erro de compilação:
public class Animal { //super classe (classe pai)
void comer()
{
System.out.println("Animal comendo...");
}
//subclasse (classe filha) - classe Cachorro herda Animal
class Cachorro extends Animal {
void rolar()
{
System.out.println("Cachorro rolando...");
}
void comer(){ //a classe Cachorro sobrescreveu o método comer
System.out.println("Cachorro comendo...");
}
}
Cachorro herdou o método comer de animal mas por algum motivo teve que escrever seu próprio método comer. Então se num determinado momento quisermos chamar:
new Dog().comer();
Teremos o resultado Cachorro comendo… Sem problemas.
Vamos analisar alguns casos agora. Se você herdou métodos abstratos de uma classe abstrata, então é obrigatório sobrescrevê-los (na prática você estaria implementando porque não tem nada pra sobrescrever).
Mas se sua classe também for abstrata não precisa, você pode simplente “passar a vez” para a última classe concreta da árvore. Só não esqueça que em algum momento você será obrigado a sobrescrever os métodos abstract.
Domine as boas práticas com projetos práticos que vão te ajudar a desenvolver sistemas e se destacar no mercado de programação.
Clique na imagem abaixo e conheça mais detalhes do nosso curso:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Sobre o Autor
0 Comentários