Exemplo 2_1_004: flexibilizando o uso da classe por meio da sobrecarga de métodos.

public class soma3 {
        private double valor;
        public soma3(int valor) /*sobrecarga de construtores. Existem 
                                       dois construtores que diferem pelo 
                                       tipo do parâmetro*/
        {
               this.valor=valor;
        }
        public soma3(double valor)
        {
               this.valor=valor;
        }
        private double getValor()
        {
        return this.valor; //busca o atributo valor
        }
        public double add(int num)
        {
            this.valor+=valor; 
            return (this.valor);
        }
        public double add(double valor)
        {
            this.valor+=valor; 
            return (this.valor);
        }
        public static void main(String[] args) {
              soma3 val = new soma3(5.5); 
              val.add(3);
              val.add(4.5);
              System.out.print(val.getValor());
        }
}

No exemplo, foi feita a sobrecarga do método add para possibilitar que esse método receba tanto valores inteiros, quanto valores do tipo double. Não há um limite para sobrecargas de construtores e métodos. Podemos fazer tantos quanto forem necessários. O exemplo a seguir ilustra isso.

Copyright © 2014 AIEC.