Mini Curso de Java – Parte 5 2


Java LogoOlá pessoal. Esta é a quinta parte do nosso mini curso de Java que terá 11 partes. Ele é voltado para iniciantes, porém é recomendado que ao estudá-lo, você já tenha pelo menos algum conhecimento em lógica de programação. Se você perdeu:
a primeira parte, leia aqui; a segunda parte, leia aqui; a terceira parte, leia aqui; a quarta parte, leia aqui;

Sobrecarga e sobrescrita de métodos e de construtores

Podem existir vários métodos sobrecarregados em uma mesma classe; Porém um método pode ser sobrescrito no máximo uma vez em uma subclasse. Na verdade essa restrição decorre do fato de não poder existir dois método iguais (mesmo nome e mesma lista parâmetros) em uma mesma classe.

Métodos sobrecarregados devem ter argumentos diferentes. Métodos sobrescritos devem ter argumentos idênticos. Na verdade se a lista de parâmetros não for idêntica a do método original, então não existe sobrescrita e sim sobrecarga.

O tipo de retorno de um método sobrecarregado pode ser escolhido livremente, o tipo de retorno de um método sobrescrito deve ser idêntico ao método original.

A sobrecarga de métodos permite a implementação de várias funcionalidades utilizando o mesmo nome. Sobrescrita, por outro lado, modifica a implementação de um método para uma subclasse.

Todas essas regras são válidas para métodos e construtores, exceto a sobrescrita de construtores, pois a mesma não existe.

Definição de sobrecarga:
O Java permite que você tenha métodos e construtores com o mesmo nome, mas com assinaturas diferentes, isto chama-se sobrecarga. O interpretador determinará qual método deve ser invocado pelo tipo de parâmetro passado. Os trecho abaixo é válido para uma compilação Java.
public class MinhaClasse {
…public void print( int i ){
…}
…public void print( float f ) {
…}
…public void print( String s) {
…}
}

Quando você escreve o código para chamar um desses métodos, a chamada deverá coincidir com tipos de dados da lista de parâmetros de algum dos métodos.

Definição de sobrescrita:
Diferente da sobrecarga, a sobrescrita acontece quando um método existe em uma classe pai e é reescrito na classe filha para alterar o comportamento. A assinatura do método deve ser igual na classe pai e na classe filha, ou seja, ele deve ter o mesmo tipo de retorno e receber os mesmo tipos de atributos como parâmetro. Como um exemplo abaixo está o código desenvolvido na seção this e super.
public class Pai {
…public numero;
…public int lançar(int numero) {
…return numero–;
…}
}

public class Filho extends Pai {
…public int lançar(int numero) {
…if (numero >= 0) {
……return this.numero;
…}
…super.lançar(numero);
…}
}

O método public int lançar (int numero) existe na classe filha e na pai, o primeiro a ser invocado é o Filho, e, via a palavra chave super, o interpretador chamará o método pai. Caso não houver o comando super.lançar (numero); o método pai não seria invocado.

Semana que vem estarei de volta com a parte 6 do Mini Curso de Java: Herança. Até lá! 😉

Últimos 5 artigos de Tiago Souza

Sobre Tiago Souza

De Campinas-SP, bacharel em Ciência da Computação pela Anhanguera Educacional. Técnico em Processamento de Dados pelo Cotuca é desenvolvedor Web e trabalhou dois anos com desenvolvimento PHP e Java. Atualmente trabalha como desenvolvedor .Net (C#). Utilizando metodologia SCRUM, Também desenvolve aplicativos para Android por prazer.

Deixe uma resposta