14-Programación Orientada a Objetos (parte IV). Métodos set and get en Java

Los métodos set and get son una parte importantísima en la programación orientada a objetos y que vamos a hacer uso de ellos constantemente para la creación de nuestros programas. Como ya vimos en episodios anteriores, los atributos de una clase se aconsejan  o se suelen poner junto con el modificador private para evitar el acceso y modificación por error desde otro lugar y que puedan ocasionar errores en el código. Pero entonces, ¿Cómo podemos acceder a estos atributos para modificarlos o para obtener su valor? Para solucionar este "problema" se utilizan los métodos set and get.
Se llaman métodos set and get porque en inglés set significa establecer y get significa obtener, y se suelen llamar a los métodos set + nombre del atributo que queramos establecer o get + el nombre del atributo que queremos obtener. Por ejemplo:

class MetodosSetGet {
    //Atributo de clase 
    private int edad;
    
    //Métodos set and get para el atributo de clase edad
    
    public void setEdad(int edad){
        this.edad = edad;
    }
    
    public int getEdad(){
        return edad;
    }
}

En el ejemplo anterior tenemos una variable de clase de nombre edad con modificador private. Creamos los métodos set and get para posteriormente, poder acceder desde otro lugar distinto a la clase MetodosSetGet a esta variable y poder modificarla. Veamos cómo se crean el método setEdad y el método getEdad.

Método setEdad()

El método setEdad() contiene:
  • El modificador public para que pueda ser accedido el método desde cualquier lugar, como desde otra clase, otro paquete...
  • El tipo de dato que devuelve. Como no devuelve nada ponemos void
  • El nombre del método setEdad()
  • Dentro del paréntesis le pasamos un parámetro. Para pasar parámetros en un método debemos poner el tipo de dato del parámetro y el nombre que le demos. Cuando llamemos a este método deberemos de poner un número entero porque es lo que hemos indicado que nos pida cuando llamemos al método. Luego la variable de clase edad pasa a valer el valor que le hayamos dado cuando hemos llamado al método y hemos puesto un número de tipo entero. Si pusiéramos, cuando llamemos al método 25, la variable de clase valdría 25 y habríamos establecido el valor de la variable edad en 25.
  • Por último lo que contiene el método es this.edad = edad; que lo que hace es lo que hemos explicado en el punto anterior, la variable de clase edad pasa a valer el valor que introducimos como parámetro cuando el método es llamado. Por ejemplo:
nombreObjeto.setEdad(25);

Con el método anterior la variable edad pasa a valer 25.


Método getEdad().

Los métodos get se crean para que nos devuelvan algún tipo de información como un String, un entero, un float, un double... cualquier tipo de dato, incluido un objeto. El método getEdad() contiene:
  • El modificador public para que pueda ser llamado el método desde cualquier parte
  • El tipo de dato que va a devolver, en este caso un tipo entero (int)
  • El nombre del método
  • Dentro del método debemos de poner siempre return seguido de la variable o valor que sea del tipo que indicamos que sería el dato devuelto. En nuestro caso como queremos que nos devuelva la edad ponemos return edad.

Gracias a los métodos set and get podemos acceder a los atributos con modificador private para modificarlos o para obtener su valor.

Realiza el siguiente ejercicio:

Ejercicio

*Crea una clase Persona que contenga los siguientes atributos:

  • Atributo private tipo String de nombre nombre
  • Atributo private tipo int de nombre edad
*En la clase Persona crear los métodos set and get de los dos atributos.
*Crear un objeto de la clase Persona en otra clase distinta y hacer llamada a los métodos set para establecer el nombre y la edad y luego mostrar los resultados por pantalla.

Solución:


La clase Programa la podríamos haber creado también en un archivo distinto en NetBeans, creando una nueva clase pero, por simplicidad de comprensión lo he realizado en el mismo archivo. El resultado es exactamente el mismo. Probad a crear otro archivo vacío de Java para crear la clase Programa y veréis que funciona de la misma forma.

En el siguiente tutorial veremos qué es y cómo utilizar la sobrecarga de métodos en Java

No hay comentarios:

Publicar un comentario

Privacy Policy for Broma Detector de Mentiras con Huella

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