20. Mas sobre metodos

Los metodos son como funciones que implementan la funcionalidad de los objetos que pertañan a las clases. Hablando claro, se trata de funciones donde dentro de estas podemos crear operaciones, impresiones, ecuaciones... en definitiva, todas unas operaciones que queramos empaquetar en una funcion. ¿Y como declaramos una funcion o metodo?. 

Imaginemos que tenemos una clase llamada "TablaMultiplicar":

 

public class TablaMultiplicar{

    

}

 

Y dentro de la clase, le asignamos unos atributos que seran los siguientes:

 

public class TablaMultiplicar{

    int numTabla = 7; 

}

 

Pues bien, ahora vamos a crear un "metodo" en el cual queremos que nos haga las operaciones para que nos imprima por consola la tabla de mutliplicar del valor que hemos asignado a la variable "numTabla". Seria de la siguiente forma (al metodo le asignamos las instrucciones "public void"):

 

public class TablaMultiplicar{

    int numTabla = 7;

    public void tabla(){

        for(int i=1; i<=10; i++){

            System.out.println(numTabla + " x " + i + " = " + (numTabla * i) );

        }

    }

}

 

A continuacion, para poder imprimir esto por la consola, si os acordais, necesitamos el metodo "main", y dentro del metodo "main", crearemos una instancia de la clase y mediante esta, tendremos acceso a los atributos y metodos, de la siguiente forma:

 

public class TablaMultiplicar{

    int numTabla = 7;    // Atributo

    public void tabla(){    // Metodo

        for(int i=1; i<=10; i++){

            System.out.println(numTabla + " x " + i + " = " + (numTabla * i) );

        }

    }

    public static void main(String[]args){        // Metodo main

        TablaMultiplicar t = new TablaMultiplicar();    // Instancia de la clase

        t.tabla();    // Llamamos al metodo "tabla"

    }

}

 

SOBRECARGAR CON PARAMETROS A LOS METODOS.

Bien, los metodos disponen, si te has fijado, de parametros vacios ( ). Estos parametros se pueden sobrecargar para ponerle algun valor, por ejemplo. Supongamos que tenemos una clase que se llama "Metodos" y con su respectivo metodo "main", he aqui:

 

public class Metodos{

    public static void main(String[]args){

 

    }  

}

 

Ahora, en la clase, le incluimos los siguientes atributos y metodos:

 

public class Metodos{

    int numero;

    public void resultado(){

    }

    public static void main(String[]args){

 

    }  

}

 

A continuacion, vamos a sobrecargar su parametro, y en el interior del metodo, incluimos lo siguiente;

 

public class Metodos{

    int numero;

    public void resultado(int num){

        this.numero = num;

        System.out.println(numero);

    }

    public static void main(String[]args){

 

    }  

}

 

Hemos creado una variable llamada "numero" como atributo. Luego en el metodo "resultado", en su parametro, hemos creado otra variable llamada "num". A continuacion, en el interior del metodo, le decimos que esta(this) variable llamada "numero" sera igual a la variable "num" y luego imprimiremos por consola el valor de la variable "numero". Bien, ¿y como obtenemos el valor de la variable "num"?. Esto deberemos instanciarlo en nuestro metodo "main" de la siguiente forma:

 

public class Metodos{

    int numero;

    public void resultado(int num){

        this.numero = num;

        System.out.println(numero);

    }

    public static void main(String[]args){

        Metodos m = new Metodos();

        m.resultado(35);

    }  

}

 

¿Que ha ocurrido aqui, en el metodo "main"?. Pues que hemos instanciado la clase "Metodos" y luego hemos llamado al metodo "resultado" poniendo en su parametro el valor que necesitamos, en este caso es un numero entero que pertenece a la variable "num".