Trabajando con objetos en Java
|
Control de acceso a miembros de una clase
/* Usuario6.java */
package paquete1;
public class Usuario6{
public static char MAS = 'm';
public static char FEM = 'f';
protected String nombre;
protected int edad;
protected String direccion;
protected char sexo;
public Usuario6( ){
nombre = null;
edad = 0;
direccion = null;
sexo = '\0';
}
public Usuario6(String nombre, int edad, String direccion,char sexo){
this.nombre = nombre;
this.edad = edad;
this.direccion = direccion;
this.sexo = sexo;
}
public Usuario6(Usuario6 usr){
nombre = usr.getNombre();
edad = usr.getEdad();
direccion = usr.getDireccion();
sexo = usr.getSexo();
}
public void setNombre(String n){
nombre = n;
}
public String getNombre(){
return nombre;
}
public void setEdad(int e){
edad = e;
}
public int getEdad(){
return edad;
}
public void setDireccion(String d){
direccion = d;
}
public String getDireccion(){
return direccion;
}
private void setSexo(char s){
sexo = s;
}
public char getSexo(){
return sexo;
}
public String toString(){
return nombre;
}
}
Ej.
/* ProgUsuario6.java */
package paquete2;
import paquete1.Usuario6;
import java.util.Vector;
public class ProgUsuario6{
static int NUM_USUARIOS = 0;
protected static Vector usuarios = new Vector();
private String nombreObj = null;
ProgUsuario6(String nombre){
this.nombreObj = nombre;
}
static int getNumUsuarios(){
return NUM_USUARIOS;
}
static void imprimeUsuario(Usuario6 usr){
System.out.println("\nNombre: " + usr.getNombre() );
System.out.println("Edad: " + usr.getEdad() );
System.out.println("Sexo: " + usr.getSexo() );
System.out.println("Direccion: " + usr.getDireccion() );
}
void addUsuario(Usuario6 usr){
usuarios.addElement(usr);
System.out.print(usr.toString( )+ " agregado por el "+ this.toString() +",");
NUM_USUARIOS ++;
}
void delUsuario(Usuario6 usr){
boolean b = usuarios.removeElement(usr);
if( b == true ){
NUM_USUARIOS--;
System.out.print(usr.toString( )+ " eliminado por el "+ this.toString() +",");
}
else System.out.println("No se pudo eliminar al usuario.");
}
public String toString(){
return nombreObj;
}
public static void main(String args[]){
ProgUsuario6 obj1 = new ProgUsuario6("objeto1");
ProgUsuario6 obj2 = new ProgUsuario6("objeto2");
Usuario6 usr1,usr2,usr3,usr4;
usr1 = new Usuario6( );
usr2 = new Usuario6("Usuario B",24,"La direccion A",Usuario6.FEM);
usr1 = new Usuario6(usr2);
usr1.setNombre("Usuario A");
usr3 = new Usuario6("Usuario C",35,"La direccion C",Usuario6.MAS);
usr4 = new Usuario6("Usuario D",15,"La direccion D",Usuario6.MAS);
obj1.addUsuario(usr1);
System.out.println( "\t Total: " +ProgUsuario6.getNumUsuarios() );
obj2.addUsuario(usr2);
System.out.println( "\t Total: " +obj1.getNumUsuarios() );
obj1.addUsuario(usr3);
System.out.println( "\t Total: " +ProgUsuario6.NUM_USUARIOS );
obj2.addUsuario(usr4);
System.out.println( "\t Total: " +getNumUsuarios() +"\n");
obj2.delUsuario(usr4);
System.out.println( "\t Total: " +ProgUsuario6.getNumUsuarios() );
obj1.delUsuario(usr3);
System.out.println( "\t Total: " +obj1.getNumUsuarios() );
obj2.delUsuario(usr2);
System.out.println( "\t Total: " +ProgUsuario6.NUM_USUARIOS );
obj1.delUsuario(usr1);
System.out.println( "\t Total: " +getNumUsuarios() +"\n");
}
}
|