2.4 MÉTODOS GETTER Y SETTER

 

Tal y como dejamos el post anterior con dos errores en el archivo Uso_vehiculo ya que al declarar las propiedades con el modificador de acceso private no es posible visibilizar y acceder a ellas desde otra clase, para lo solucionarlo y que sean accesibles se utilizan dos tipos de métodos de acceso:

·         Setter o definidores.

·         Getters o captadores.

Getters

·         Función: devolver el valor de las propiedades de los objetos

·         Sintaxis: public dato_a_devolver nombre_metodo(){código + return }

Lo vemos en un ejemplo, vamos a la clase Coche y vamos a crear un método Getter que nos dé el largo del coche:

      public String dame_largo() {

           

            return "El largo del coche es: "+largo;

 

            }

El dato a devolver es un String, cuando instanciemos el objeto y llamemos a este método nos va a salir por consola lo que hay dentro del return. Si vamos a la clase Uso_vehiculos:

package poo;

 

public class Uso_vehiculos {

 

      public static void main(String[] args) {

           

            Coche Renault = new Coche();

           

            System.out.println(Renault.dame_largo());

 

      }

 

}

Instanciamos la clase, mediante un System.out llamamos al método:




Para el siguiente método nos vamos a crear tres propiedades más que no las vamos a inicializar, va ser el color, el peso final del coche, si tiene asientos de cuero y climatizador:

      private int peso_final;

     

      private String color;

     

      private boolean asientos_cuero, climatizador;

Vamos a utilizar el método Setter:

·         Función: modificar el valor de las propiedades de los objetos.

·         Sintaxis: public void nombre_metodo(){código}

Void indica que el método no devuelve nada.

Vamos a suponer que queremos que todos los coches sean de color azul, creamos el método Setter:

public void establece_color() {

     

      color="azul";

}

Este método no devuelve nada, da un valor a la propiedad para que podamos acceder a esta propiedad tenemos que crear un método Getter para acceder a ella:

public String dame_color() {

     

      return "El color del coche es: "+color;

}

Si vamos al archivo Uso_vehiculos:

package poo;

 

public class Uso_vehiculos {

 

      public static void main(String[] args) {

           

            Coche Renault = new Coche();

           

            Renault.establece_color(); //Llamamos primero al método Setter

           

            System.out.println(Renault.dame_color()); //Luego llamamos al método Getter

 

      }

 

}

Lo primero es llamar al método Setter que es el que nos indica el valor de la propiedad y luego el método Getter, si ejecutamos:




Si no llamáramos al método Setter, comentamos esa línea de código y ejecutáramos de nuevo:



El color del coche es null porque no tenemos acceso al valor de la propiedad.


 





No hay comentarios:

Publicar un comentario