Listado completo de tutoriales
97 - Generación automático de constructores, getters y setters con Eclipse |
Cuando queremos tener acceso a un atributo de la clase lo más común es implementar un método que lo retorne y si queremos cambiar su valor implementamos otro método que lo modifique.
Como esta actividad es muy común para toda clase los Ides de Java (Eclipse, NetBeans, IntelliJ IDEA etc.) nos brindan estas funcionalidades en forma automática.
Veamos como crear los métodos de acceso a atributos y constructores en forma automática con Eclipse.
Plantear un clase llamada 'Persona' definir los atributos nombre y edad. Crear el constructor y los métodos para modificar y recuperar los valores de los atributos mediante las herramientas que provee Eclipse.
public class Persona { private String nombre; private int edad; }
Una vez que declaramos la clase con los atributos nombre y edad procedemos a elegir del menú de opciones de Eclipse: Source -> Generate constructor using Fields...:
Luego de elegir la opción se abre un diálogo para que seleccionemos que atributos queremos inicializar en el constructor:
El código del constructor se agrega donde se encuentra el cursor actualmente.
public class Persona { private String nombre; private int edad; public Persona(String nombre, int edad) { super(); this.nombre = nombre; this.edad = edad; } }
La llamada al constructor de la clase padre mediante super() es opcional ya que de todos modos se hace en forma automática si no la disponemos.
Ahora procederemos a crear los getters y setters para la clase Persona, elegimos la opción: Source -> Generate Getters and Setters... (Recordar que los métodos se insertan donde se encuentre el cursor actualmente):
En el diálogo siguiente especificamos para que campos queremos generar el getter y el setter:
Ahora ya tenemos codificado el constructor de la clase 'Persona' y los setters y getters:
public class Persona { private String nombre; private int edad; public Persona(String nombre, int edad) { super(); this.nombre = nombre; this.edad = edad; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public int getEdad() { return edad; } public void setEdad(int edad) { this.edad = edad; } }
Las herramientas que nos proveen Eclipse nos ahorra mucho tiempo con tareas repetitivas.
Ahora podemos ver porque es tan común llamar 'int getEdad()' a un método que retorne el campo edad en lugar de 'int retornarEdad()'.
Los diálogos que vimos para generar constructores, getters y setters tienen muchas opciones como pueden ser fijar si el método es public, private, protected, que se generen solo los getters o setters, seleccionar no todos los campos etc.
public class Empleado { private String nombre; private float sueldo; public Empleado(String nombre, float sueldo) { super(); this.nombre = nombre; this.sueldo = sueldo; } public Empleado(String nombre) { super(); this.nombre = nombre; this.sueldo = 1000; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public float getSueldo() { return sueldo; } public void setSueldo(float sueldo) { this.sueldo = sueldo; } }