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:

Traductor de Jeringozo en Java.

El programa que os muestro hoy traduce cualquier palabra o frase al lenguaje Jeringozo. ¿Que qué es el lenguaje Jeringozo? El lenguaje Jeringozo seguramente os suene por haberlo escuchado alguna vez o algunos lo habréis utilizado cuando erais más pequeños. Este lenguaje consiste en agregar la letra "p" después de cada vocal y luego repetir la vocal por ejemplo, para traducir hola sería hopolapa.
Para hacer el programa hemos tenido en cuenta algunos casos especiales, por ejemplo la palabra queso no queremos que nos la traduzca en qupuepesopo, queremos que se quede así: quepesopo. Por lo tanto debemos tener en cuenta hay que tener que pasar por alto la letra "u" cuando no se pronuncia como en queso, bloque, queso...

Generar un número aleatorio en Java utilizando la clase Random().

Ya vimos cómo crear un número aleatorio utilizando el método random() de la clase MathTutorial Clase Math, ahora veremos cómo podemos crear un número aleatorio pero utilizando la clase Random y haciendo uso de los métodos nextInt(), nextInt(int bound), nextFloat() y nextDouble(), aunque el uso de nextFloat(), nextDouble(), y nextLong() es el mismo, solo cambia el tipo de dato.
Vamos a ver en primer lugar cómo generar un número aleatorio entre 1 y 10.


import java.util.Random;

class NumeroAleatorio{
    public static void main(String[] args) {
        //Creamos objeto de la clase Random
        Random aleatorio = new Random();        
        int numero = aleatorio.nextInt(10)+1;
        System.out.println(numero);
    }
}

16-Programación Orientada a Objetos (Parte VI). Uso de this.

Utilizar la Palabra clave this

En algunos tutoriales anteriores se ha hecho uso de la palabra clave this. La palabra clave this se utiliza para hacer referencia a un método o propiedad del objeto actual, es decir, hace referencia al objeto actual en el que nos encontramos.
Vimos que al crear una clase, ésta estaba formada por atributos y métodos y, estos métodos, en ocasiones se le pasaban variables como parámetros. En muchas ocasiones estos parámetros tienen, por necesidad, el mismo nombre que alguno de los atributos y para poder diferenciar el atributo de la variable pasada como argumento se hace uso del this. 

Veámoslo con un ejemplo:


class Persona {
    String nombre;
    String apellidos;
    
    //Creamos los métodos set de nombre y apellidos
    
    public void setNombre(String nombre){
        //Con el uso del this diferenciamos el atributo nombre del
        //parámetro del mismo nombre
        //Así nombre atributos pasará a valer el valor que se pase
        //como argumento
        this.nombre = nombre;
    }
    
    public void setApellidos(String apellidos){
        this.apellidos = apellidos;
    }
}

Obtener la hora en Java con la Clase Calendar

Para obtener la hora, Java nos proporciona la clase Calendar. Con la clase Calendar podremos obtener la hora del sistema de manera separada, es decir, la hora, los minutos y los segundos por separado.
En primer lugar tendremos que instancias la clase Calendar, que se puede hacer de dos maneras:

1- Obteniendo una instancia directamente de Calendar


Calendar reloj = Calendar.getInstance();

2- Instanciando la clase GregorianCalendar

Calendar reloj = new GregorianCalendar();

De las dos formas se podrá obtener la hora del sistema, ya que estaríamos utilizando el mismo calendario.
Tanto si utilizamos la primera forma como la segunda debemos de importar las clases java.util.Calendar; o java.util.GregorianCalendar;

En segundo lugar lo que haremos será crear las variables que contendrá la hora, los minutos y los segundos.

int hora;
int minutos;
int segundos;

Después utilizaremos el método get(int valor). Este método tiene que recibir un argumento de tipo entero que será el valor que queremos obtener, ya se la hora, los minutos, el día, los segundos...

Por último para pasar como argumento el entero al método get(), utilizaremos las constantes que nos ayudarán a encontrar dichos valores. Así tendremos las siguientes constantes:

  • Calendar.HOUR_OF_DAY. Es la hora del día en formado de 24 horas
  • Calendar.HOUR. Es la hora en formato de 12 horas
  • Calendar.MINUTE. Para los minutos
  • Calendar.SECOND. Para los segundos

15-Programación Orientada a Objetos (Parte V). Parámetros y Argumentos de Métodos en Java

Parámetros y argumentos son dos términos, que a menudo son intercambiados erróneamente. El contexto ayuda a diferenciar su significado.

  • El término parámetro se utiliza para referirse a la variable en la declaración del método
  • El término argumento se refiere al valor que se envía cuando hacemos la llamada al método.
Hay que recordar que el argumento debe ser del mismo tipo de dato que el parámetro de la declaración del método.

Privacy Policy for Broma Detector de Mentiras con Huella

Privacy Policy Privacy Policy Broma detector de mentiras con huella app as ...