3 - Polimorfismo de sobrecarga – sobrecarga de métodos

Na sobrecarga de métodos, o método da classe filha possui uma assinatura ligeiramente diferente do método herdado. Embora os métodos tenham necessariamente de ter o mesmo nome, eles podem diferir pelos parâmetros do método e, facultativamente, pelo tipo de valor de retorno.

A linguagem java não aceita a sobrecarga de métodos que difiram apenas pelo tipo de valor de retorno.

O que é relevante enfatizar é que esses métodos sobrecarregados são novos métodos e não tem qualquer relação com o método herdado, a não ser a funcionalidade implementada.

Por exemplo, vamos sobrecarregar a função mostrar da classe Quadrado para que também possamos em lugar de mostrar no console retornar a String com o nome da forma e o comprimento:

public class Quadrado extends Retangulo {
...
public void mostrar() {
System.out.println(”Quadrado ” + this.getComprimento());
}
public String mostrar(int formato) {
if(formato==1){
return ”Quadrado”;
}
else{
return ”Quadrado ” + this.getComprimento().toString();
}
}
}

No exemplo acima, criamos um método mostrar, que recebe um parâmetro inteiro e retorna uma String. Dependendo do valor do formato, ele imprimirá apenas o nome da forma (“Quadrado”) ou o nome da forma seguido do comprimento.

Copyright © 2014 AIEC.