2 - Sobrecarga de construtores e métodos

Vamos voltar ao exemplo da classe soma. Essa classe só aceita somar valores inteiros. Vamos agora fazer algumas alterações usando a propriedade de sobrecarga de construtor para flexibilizar o uso dessa classe.

Exemplo 2_1_003: flexibilizando o uso da classe por meio da sobrecarga do construtor.

public class soma2 {
    private double valor;
    public soma2(int valor) /*sobrecarga deconstrutores. Existem dois 
                            construtores que diferem pelo tipo do  
                                 parâmetro*/
    {
           this.valor=valor;
    }
    public soma2(double valor)
    {
           this.valor=valor;
    }
    private double getValor()
    {
    return this.valor; //busca o atributo valor
    }
    public double add(int num)
    {
         return (this.valor+num);
    }
    public static void main(String[] args) {
          soma2 val1 = new soma2(12); //usa o primeiro construtor
          soma2 val2 = new soma2(5.5); //usa o segundo construtor
    }
}

Vejam, no exemplo anterior, que a classe possui dois construtores. O primeiro será utilizado quando o objeto for criado por meio de um argumento inteiro (linha 22). O segundo construtor será utilizado quando o argumento utilizado para criar o objeto do tipo soma2 for do tipo decimal (linha 23).

No exemplo anterior, temos ainda uma limitação para realizar a soma, pois a função add só recebe argumentos inteiros. A seguir vamos mostrar como tornar isso flexível por meio da sobrecarga de métodos.

Copyright © 2014 AIEC.