Hola a todos, hoy os enseñare que son y como utilizar los métodos get y set en Java.
Los métodos get y set, son simples métodos que usamos en las clases para mostrar (get) o modificar (set) el valor de un atributo. El nombre del método siempre sera get o set y a continuación el nombre del atributo, su modificador siempre es public ya que queremos mostrar o modificar desde fuera la clase. Por ejemplo, getNombre o setNombre.
Esta es la sintaxis de cada uno:
public tipo_dato_atributo getAtributo (){ return atributo; } public void setAtributo (tipo_dato_atributo variable){ this.atributo = variable; }
Si usamos Eclipse tenemos una manera aún mas sencilla de generarlos automáticamente. Pinchamos en Source -> Generate Getters and Setters, nos aparecerá una ventana donde elegiremos que atributos generar su get o set, al pinchar en OK nos lo generara automáticamente estos métodos.
Veamos un ejemplo:
Clase
/** * Clase Empleado * * Contiene informacion de cada empleado * * @author Fernando * @version 1.0 */ public class Empleado { //Atributos /** * Nombre del empleado */ private String nombre; /** * Apellido del empleado */ private String apellido; /** * Edad del empleado */ private int edad; /** * Salario del empleado */ private double salario; //Metodos publicos /** * Devuelve el nombre del empleado * @return nombre del empleado */ public String getNombre() { return nombre; } /** * Modifica el nombre de un empleado * @param nombre */ public void setNombre(String nombre) { this.nombre = nombre; } /** * Devuelve la edad de un empleado * @return edad del empleado */ public int getEdad() { return edad; } /** * Modifica la edad de un empleado * @param edad */ public void setEdad(int edad) { this.edad = edad; } /** * Devuelve el salario de un empleado * @return salario del empleado */ public double getSalario() { return salario; } /** * Suma un plus al salario del empleado si el empleado tiene mas de 40 años * @param sueldoPlus * @return <ul> * <li>true: se suma el plus al sueldo</li> * <li>false: no se suma el plus al sueldo</li> * </ul> */ public boolean plus (double sueldoPlus){ boolean aumento=false; if (edad>40 && compruebaNombre()){ salario+=sueldoPlus; aumento=true; } return aumento; } //Metodos privados private boolean compruebaNombre(){ if(nombre.equals("")){ return false; } return true; } //Constructor /** * Constructor por defecto */ public Empleado(){ this.nombre=""; this.apellido=""; this.edad=0; this.salario=0; } /** * Constructor con 4 parametros * @param nombre nombre del empleado * @param apellido nombre del empleado * @param edad edad del empleado * @param salario salario del empleado */ public Empleado(String nombre, String apellido, int edad, double salario){ this.nombre=nombre; this.apellido=apellido; this.edad=edad; this.salario=salario; } }
Clase ejecutable
public class EmpleadoApp { public static void main(String[] args) { Empleado empleado1=new Empleado ("Fernando", "Ureña", 23, 800); Empleado empleado2=new Empleado ("", "Lopez", 50 ,1800); //Mostramos el valor actual del salario del empleado1 System.out.println("El salario del empleado1 es "+empleado1.getSalario()); //Modificamos la edad del empleado1 empleado1.setEdad(43); empleado1.plus(100); //Mostramos el salario de nuevo, ahora tendra 100 mas System.out.println("El salario actual del empleado1 es "+empleado1.getSalario()); //Modificamos el nombre del empleado2 empleado2.setNombre("Antonio"); empleado2.plus(100); //Mostramos el salario de nuevo, ahora tendra 100 mas System.out.println("El salario del empleado2 es "+empleado2.getSalario()); } }
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
como utilizar get y set y que es
que pasa si quitamos
boolean aumento=false;
y solo hacemos la comparación si es mayor a 40 en dado caso
: /
Gracias, muy buena explicación
Entonces significa que para modificar un atributo de carácter private se hará entonces mediante un setter no? Es decir, si lo quiero hacer directamente y no a través de un método como se ha hecho con el plus de salario.
estoy confundido e visto muschos videos y mi cerebro hizo corto cirtcuito
Por qué se usa el this en los setter y no al retornar en los getter?
Muchas gracias me fue de mucha ayuda
Muchas gracias me fue de mucha ayuda
Quiero ser franco, ya que ese elemento lo consideró detonador de confianza y ésta última un activo sumamente necesario en estos tiempos en que interactuamos y hasta realizamos operaciones muy diversas sin ver precisamente con quien lo estamos realizando, cuando decidí opinar se me vinieron a la cabeza palabras tales como, extraordinario, brillante, claro, límpido, bonito, gracias, felicidades; luego no encontré una idea precisa y entonces recurrí a la franqueza como constructor que reuniera todos esos atributos.
Reitero mi agradecimiento y felicitaciones.
como se concatena en método con otro, AyUdA