Sobrecarga de Metodos (Java)

Encuentra en el sitio

Este tema no es complejo pero si importante para tener en cuenta. Una sobrecarga de métodos o funciones se conoce por tener mas de un método con el mismo nombre, aplicando hasta el momento lo dicho generaría errores al momento de compilar, en este punto se debe de aclarar ciertas características que posee la sobrecarga de métodos:

    [important]

    • Los métodos sobrecargados poseen el mismo nombre sin importar el numero de métodos que hayan.
    • Se puede usar cualquier tipo de método (String, int, float, Double, etc….). Recordemos que si el método es diferente de Void se debe de retornar un valor dependiendo del tipo de método declarado.
    • Los parámetros o argumentos que posean los métodos sobrecargados pueden ser de diferentes tipos y diferente cantidad de estos.

    [/important]

Si en este momento no se tiene muy claro el concepto lo ilustrare a continuación usando como ejemplo el anterior post, resumiendo en este se tiene una calculadora que recibe dos números para realizar las operaciones básicas (suma, resta, división, multiplicación), pero, Si es necesario usar mas números para realizar las mismas operaciones? La pequeña variación que haré es usar hasta 3 números, ya con esto se usara la sobrecarga de métodos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/**
 * @author belial9826
 * www.jagonzalez.org
 */
public class operaciones { //comienzo clase operaciones
 
    public int suma(int n1, int n2){//metodo para sumar, recibe dos numeros
        int op; //variable que almacena la respuesta
        op = n1 + n2; //operacion
        return op; //devuelve el valor de la operacion
    } //fin metodo suma
 
    public int suma(int n1, int n2, int n3){//metodo para sumar, recibe tres numeros
        int op; //variable que almacena la respuesta
        op = n1 + n2 + n3; //operacion
        return op; //devuelve el valor de la operacion
    } //fin metodo suma
 
    public int resta (int n1, int n2){ //metodo para restar, recibe dos numeros
        int op; //variable que almacena la respuesta
        op = n1 - n2; //operacion
        return op; //devuelve el valor de la operacion
    }// fin metodo resta
 
    public int resta (int n1, int n2, int n3){ //metodo para restar, recibe tres numeros
        int op; //variable que almacena la respuesta
        op = n1 - n2 - n3; //operacion
        return op; //devuelve el valor de la operacion
    }// fin metodo resta
 
    public int multiplicacion(int n1, int n2){ //metodo para multiplicar, recibe dos numeros
        int op; //variable que almacena la respuesta
        op = n1 * n2; //operacion
        return op; //devuelve el valor de la operacion
    } //fin metodo multiplicacion 
 
    public int multiplicacion(int n1, int n2, int n3){ //metodo para multiplicar, recibe tres numeros
        int op; //variable que almacena la respuesta
        op = n1 * n2 * n3; //operacion
        return op; //devuelve el valor de la operacion
    } //fin metodo multiplicacion 
 
    public int division(int n1, int n2){ //metodo para division, recibe dos numeros
        int op; //variable que almacena la respuesta
        op = n1 / n2; //operacion
        return op; //devuelve el valor de la operacion
    }//fin metodo division
 
    public boolean isNum(String n){//metodo para validar si se ha ingresado un numero, recibe una cadena de texto
        int a;//variable que almacena la cadena a convertir
        try{  
            a = Integer.parseInt(n); //se convierte la cadena      
            return true; //si se ha convertido a entero devuelve verdadero
        } 
        catch(NumberFormatException e){ 
            return false; //si no se ha convertido a entero devuelve falso
        }
    }//fin metodo validar
 
}//fin clase operaciones

Como se puede apreciar en las lineas 7 y 14 se puede ver el funcionamiento de la sobrecarga, dependiendo del uso (2 números o 3) se invoca el método deseado, esto sucede para los métodos resta y multiplicacion ya que para el de división queda de tarea para ustedes. Como dije al principio este tema no es difícil ni mucho menos tedioso, espero haber aclarado alguna duda respecto al tema del post. Como siempre agradezco cualquier comentario que deseen dejar.

Si te ha gustado el post, compártelo, regala un like ó comenta 😉

  1. Buen post, estaría bueno si haces algunos ejemplos más para observar el comportamiento de los métodos, y también si hablaras sobre como tratar las excepciones de de los métodos. Saludos.

  2. Avatar for belial9826 diana dice:

    ayuda porfavor
    me piden realizar un metodo que reciba 2 parametros enteros y retorne la division, la division tiene que realizarse con restas sucesivas….

    help pleace…!!!

    gracias

    1. Avatar for belial9826 Henry Díaz dice:

      Cuando te refieres a que la división tiene que realizarse con restas sucesivas, que es realmente eso…

      1. Avatar for belial9826 dihovi dice:

        restas sucesivas son divisiones
        sumas sucesivas son multiplicaciones
        Saludos,

    2. Avatar for belial9826 belial9826 dice:

      Preciso hice un Post con el tema de tu apuro, espero te sirva 😉 lo encontraras en el siguiente link.

Deja un comentario