sábado, 31 de diciembre de 2016

17-Programación orientada a objetos (Parte VII). Alcance de las variables y Sobrecarga de métodos.

En primer lugar, se que llevaba tiempo sin publicar ningún  tutorial, pero es que estoy muy liado y no he tenido tiempo, pero iré publicando conforme pueda, no voy a abandonar el blog y voy a terminar los tutoriales de Java, además tengo pensado hacer más tutoriales como de bases de datos, Android....

Ahora vamos a empezar con el tutorial de hoy, en el que hablaremos del alcance de las variables y de la sobrecarga de métodos.

Alcance de las Variables

Bueno, ya hemos visto en tutoriales anteriores cómo es la estructura de una clase (atributos y métodos) y cómo crear objetos así, que hay que saber que una variable, según dónde la creemos será visible desde un lugar o no. Podemos diferenciar entre variables locales y variables de instancia

Variables Locales

Estas variables no admiten modificadores de acceso, salvo final, y deben ser inicializadas cuando se crean para que puedan ser utilizadas. Estas variables son las que se crean dentro de un método, un bucle for, ocualquier condicional y sólo son visibles dentro de estas instrucciones. Si intentáramos acceder al valor de alguna de estas variables locales nos mostraría un error de que no encuentra esa variable.

Variables de Instancia

Estas variables se declaran después de la clase y tienen un alcance global, es decir, se pueden acceder a ellas desde cualquier lugar. Estas variables se declaran fuera de cualquier método, condicional o bucle.
Para acceder a estas variables desde el método main o desde cualquier otro método estático es necesario crear un objeto de la clase. 

Sobrecarga de Métodos

La sobrecarga de métodos suele confundir al principio a los que empiezan a programar en Java, pero no os preocupéis, lo voy a intentar explicar de la manera más sencilla posible y luego veremos algún ejemplo en código que es cómo mejor se aprenden estas cosas.
En primer lugar hay que aprenderse qué es la sobrecarga de métodos. En tutoriales anteriores vimos cómo crear nuestros métodos, que si lo recordáis (si no lo recordáis ir inmediatamente a repasar xD) hay que indicar el modificador de acceso, el tipo devuelto o void si no devuelve nada, el nombre del método, los parámetros si el método lleva parámetro y entre las llaves introducíamos el código. Pues bien imaginad que tenemos un método que lo que hace es sumar dos números y devuelve la suma. Un posible método que haga esto es:


public int sumar(int x, int y){
       int sumaTotal = x + y;
       return sumaTotal;
   }

Pero, ¿que pasaría si quisiéramos sumar dos números de tipo float o tipo double?. Java nos permite la sobrecarga de métodos, que no es otra cosa que tener varios métodos con el mismo nombre pero se deben de diferenciar en el tipo de parámetros o en el número de parámetros. Así, podemos crear los métodos sumar para que sume números de tipo float y de tipo double.

 public double sumar(double x, double y){
       double sumaTotal = x + y;
       return sumaTotal;
   }
   
   public float sumar(float x, float y){
       float sumaTotal = x + y;
       return sumaTotal;
   }

De esta forma tenemos implementados 3 métodos del mismo nombre sumar(). Y según necesitemos un método u otro utilizaremos un método que devuelva un tipo entero, tipo double o tipo float.

Como he comentado antes, también podemos tener el método con el mismo nombre, el mismo tipo de datos pero que tenga un número diferente de parámetros.

Alguna clase que viene en la API de Java también emplean la sobrecarga de métodos. Por ejemplo si miramos la documentación de la clase Math vemos que el método max() está sobrecargado como vemos en la siguiente imagen.



Bueno pues esto es todo, en el siguiente tutorial veremos el método constructor y cómo también se puede hacer la sobrecarga del constructor. Nos vemos!! 

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...