Académique Documents
Professionnel Documents
Culture Documents
Alumno varios mtodos que son tpicos de Java y que lo que hacen es proporcionar la
encapsulacin de los datos , es decir que nicamente los mtodos de una clase hagan las
asignaciones y los cambios de datos en los atributos de esa clase.
Este documento va a incidir sobre este sistema que es el correcto, empezando desde un
ejemplo sencillo donde NO LOS Utilizamos hasta un ejemplo en el que ya aparezcan,
as como la manera de automatizar este proceso en NetBeans y que nos evite escribir
cdigo.
1.- Ejemplo en el que NO se utilizan los mtodos set y get y por tanto no
package gestionaalumno;
public class Alumno{
String nombre;
int edad;
Alumno (String n, int e){
nombre = n;
edad = e;
}
}
package gestionaalumno;
import java.util.*;
/** @F. Javier Moldes
*/
public class GestionaAlumno {
public static void main(String[] args) {
Scanner teclado = new Scanner (System.in);
System.out.println("Nombre del alumno");
String texto = teclado.nextLine();
System.out.println("Edad");
int edad = teclado.nextInt();
Alumno al= new Alumno(texto, edad);
System.out.print("El alumno "+al.nombre);
Mostrar el valor de
System.out.println(" tiene "+al.edad+" aos");los atributos de a1 a
traves del operador( .)
al.edad = 22; Cambiamos el valor del atributo edad
desde otra clase.
}
}
2.- Ejemplo en el que SI se utilizan los mtodos set y get con lo que se
asegura la privacidad de los atributos de los objetos de la clase y la
encapsulacin.
package gestionaalumno2;
public class Alumno2 {
private String nombre;
private int edad;
Vamos a ver como NetBeans nos permite crear automticamente estos mtodos set y
get. Situndose en el cdigo , con el botn derecho, seleccionamos RefactorEncapsulate Fields.
Aqu veremos los atributos de esa clase y como ves nos permite escoger que mtodos
queremos crear.
Lo nico que nos queda por hacer es seleccionar ambos mtodos para todos los atributos
que nos interesen, en este caso los dos atributos privados de la clase Alumno2 y pulsar
Refactor. Automticamente nos crea el cdigo.
Ya en el programa principal,
package gestionaalumno2;
import java.util.*;
public class GestionaAlumno2 {
public static void main(String[] args) {
Scanner teclado = new Scanner (System.in);
/*Con esta lnea que sigue aseguro que los float y double
siempre lo introduzcamos con . y no con ,
para los decimales lo que nos puede ocurrir si
ejecutamos el programa en un Windows en espaol.
*/
teclado.useLocale(java.util.Locale.ROOT);
String nom = new String();
int edad;
Alumno2 persona = new Alumno2();
System.out.println("Introduzca el nombre: ");
nom = teclado.nextLine();
System.out.println("Introduzca la edad: ");
edad = teclado.nextInt();
//Asignamos los valores a los atributos a travs de los mtodos
//set
persona.setNombre(nom);
persona.setEdad(edad);
//Visualizamos los valores a travs de los mtodos get
System.out.println ("El alumno es: "+ persona.getNombre());
System.out.println ("El alumno tiene "+ persona.getEdad()+
" aos");
teclado.close();
}
}
Si os fijis ahora la gestin de los atributos de la clase corre siempre a carga de mtodos
de la misma clase con lo que aseguramos la privacidad de los mismos.