junio 19, 2013

Setters y Getters

Los setter y getters, son métodos de acceso en una clase, estos sirven para establecer y obtener datos de los atributos de nuestra clase, estos dos métodos deben ser públicos:

El método set (traducción al español: "establecer"): nos sirve para asignar un valor (inicializar) a un atributo de nuestra clase, esto se hace de manera directa con este método, como este método no retorna nada, el nombre de este debe ser precedido por void, y siempre debe recibir un parámetro de entrada.
El método get (traducción al español: "obtener"): este tipo de método accede a la clase para retornarnos el valor de algún atributo que queramos, y como ya mencioné, el método get si debe retornar un valor por lo cual el nombre de este método debe ser precedido por el tipo de valor que vamos a retornar con ese método.

A estos métodos se les suele hacer referencia en plural (como el titulo de este post) porque generalmente son más de un método set y get en una clase, y de este modo nos referimos a todo ese tipo de métodos de establecimiento y obtención de información. Bien, estos métodos se ven así en una clase:
/**
 *Archivo: Persona.java
 * @author Anibal Clavel
 * http://www.buenasintencions.blogspot.mx
 */

public class Persona {
    
    //Declaracion de atributos:
    String nombre;
    int edad;
    
    //Constructor:
    public Persona(){
        
    }
    
    //Metodo dormir:
    public String domir(){
        return "zZzzZ";
    }
    
    //Metodo comer:
    public String comer(){
        return "comiendo...";
    }
    
    //Setters y Getters.
    public void setNombre(String n){
        nombre = n;
    }
    
    public void setEdad(int e){
        edad = e;
    }
    
    public String getNombre(){
        return nombre;
    }
    
    public int getEdad(){
        return edad;
    }
}// fin de la clase Persona.
Acá creamos la clase Persona con 2 atributos, 1 constructor, 2 metodos, 2 setters y 2 getters. Los setters y getters comienzan en la linea 29 y como se puede observar el primer set es para establecer un nombre (String) a nuestro atributo nombre de la clase.

El método setNombre(), pide como parámetro un String (el nombre de la persona), el cual asigna a nuestro atributo nombre de la clase. Este método no retorna ningún valor. Solo establecimos un dato en un atributo de esta clase.

El método getNombre(), no necesita de parámetros de entrada, solo devuelve al programa que lo este invocando (mediante un objeto de la clase Persona) el valor que contenga alojado el atributo nombre, retorna un valor String.

Una vez que creamos nuestros métodos set y get y hayamos terminado la creación de nuestra clase, hacemos unos de estos métodos en la clase principal (o en otra clase que lo requiera), y se vera más o menos así:
/**
 *Archivo: Prueba.java
 * @author Anibal Clavel
 * http://www.buenasintencions.blogspot.mx
 */

import javax.swing.JOptionPane;

public class Prueba{
    
    public static void main(String args[]){
        
        String dato1;
        int dato2;
        Persona p = new Persona();
        
        dato1=JOptionPane.showInputDialog("Nombre:");
        p.setNombre(dato1);
        dato2=Integer.parseInt(JOptionPane.showInputDialog("Edad:"));
        p.setEdad(dato2);
        
        System.out.println("El nombre de la persona es:");
        System.out.println(p.getNombre());
        System.out.println("\n...y su edad es: "+p.getEdad());
    }
}
Loading...