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");					
   }
}

«Anterior»     « Siguiente »