No exemplo do exercício 2 vocês utilizaram o super, qual a função dele neste caso?
No exemplo do exercício 2 vocês utilizaram o super, qual a função dele neste caso?
Olá Pedro. A função do super tem ligação com a herança, quando temos a relação de pai e filho, temos uma herança pois o filho herda os métodos do pai, através dessa herança podemos reescrever esses métodos através do polimorfismo ou podemos usar o método da mesma forma que ele se encontra no pai. Veja exemplo abaixo.
public class Pai{
public void falar(){
System.out.println("Sou o pai");
}
public class Filho extends Pai{
@Override
public void falar(){
System.out.println("Sou o filho");
}
}
No caso o filho herda o método do pai e pode reescrever como feito acima escrevendo "Sou o filho", ou pode utilizar o comando super.falar(); que irá pegar o método do pai irá apresentar "Sou o pai".
Então a classe filha, com o super, utiliza o corpo do método da classe pai e só acrescenta informações correspondentes a ela?
Isso ela utiliza o corpo da classe pai, agora se ela quiser modificar esse método(polimorfismo) ela vai reescrever ele com outro comportamento. Mas usando o super ela vai usar do jeito que está declarado no pai.