Métodos get y set en Java

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.

getters and setters

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.

Compartir

10 comentarios

  1. Catalina Gómez

    Gracias muy buena explicación me ha servido mucho, había buscado en otros sitios que hablaban de POO pero no había entendido muy bien la explicación ya me ha quedado clara y los aprendí a usar. Buen post

  2. jesus

    Muchas gracias por el ejemplo. Me ha servido de gran ayuda. Un saludo y gracias de nuevo.

  3. Andres

    Me pueden ayudar porfavor …quiero saber como aplicar este metodo en vectores …lo que pasa es que tengo un menu ..que contiene Insertar elementos al vector , visualizar los elemento y ordenar el vector..lo que quiero es obtener los datos del vector que esta en Insertar elementos al vector, para poder visualizar los elementos en visualizar elementos del vector ..»»ojo»» cada una es una clase diferente ..ayuda porfavor

  4. shenick

    Muchas gracias por el ejemplo. Me ha servido de gran ayuda. Un saludo y gracias de nuevo.

  5. Mauro

    Gracias por su ayuda, recurro seguido a esta pagina porque son muy buenos despejando dudas .

  6. Edwin

    Y si quiero que el código pida los datos del empleado, como se haría en este ejercicio de Get y Set?

  7. GUSTAVO

    BUENAS IDEAS ME DAN
    ESTA PAGINA SI ME AYUDO BASTANTE

    GRACIAS!!!!
    ATTE GUSTAVO

  8. juan

    gracias ya pase la materia todo gracias a nosotros

  9. jhon

    y si quiero ingresar varios nombres a la hora que se ejecuta el programa?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *