Trabajando con clases y objetos en Java
|
Acceso a variables y métodos
Una vez que se ha creado un objeto, seguramente se querrá hacer algo con él.
Tal vez se requiera obtener información de éste, se quiera cambiar su estado, o se
necesite que realice alguna tarea.
Los objetos tienen dos formas de hacer esto:
Ejemplo
/* Usuario2.java */
class Usuario2
{
String nombre;
int edad;
String direccion;
Usuario2( ) /* Equivale al contructor por omisión */
{
nombre = null;
edad = 0;
direccion = null;
}
Usuario2(String nombre, int edad, String direccion)
{
this.nombre = nombre;
this.edad = edad;
this.direccion = direccion;
}
Usuario2(Usuario2 usr)
{
nombre = usr.getNombre();
edad = usr.getEdad();
direccion = usr.getDireccion();
}
void setNombre(String n)
{
nombre = n;
}
String getNombre()
{
return nombre;
}
void setEdad(int e)
{
edad = e;
}
int getEdad()
{
return edad;
}
void setDireccion(String d)
{
direccion = d;
}
String getDireccion()
{
return direccion;
}
}
Ejemplo
/* ProgUsuario2.java */
class ProgUsuario2
{
void imprimeUsuario(Usuario2 usr)
{
// usr.nombre equivale en este caso a usr.getNombre()
System.out.println("\nNombre: " + usr.nombre );
System.out.println("Edad: " + usr.getEdad() );
System.out.println("Direccion: " + usr.getDireccion() +"\n");
}
public static void main(String args[])
{
ProgUsuario2 prog = new ProgUsuario2( );
Usuario2 usr1,usr2; /* Se declaran dos objetos de la clase Usuario2 */
/* Se utiliza el constructor por omisión */
usr1 = new Usuario2( );
prog.imprimeUsuario(usr1);
/* Se utiliza el segundo constructor de Usuario2 */
usr2 = new Usuario2("Eduardo",24,"Mi direccion");
prog.imprimeUsuario(usr2);
/* Se utiliza el tercer constructor de Usuario2 */
usr1 = new Usuario2(usr2);
/* En este caso usr1.setDireccion("nuevoValor"); equivale
a usr1.direccion = "nuevoValor"; */
usr1.setDireccion("Otra direccion");
prog.imprimeUsuario(usr1);
prog.imprimeUsuario(usr2);
}
}
|