METODOS DE CLASE

Ver el tema anterior Ver el tema siguiente Ir abajo

METODOS DE CLASE

Mensaje  LOS INCREIBLES el Mar Mayo 12, 2015 2:46 pm

Métodos de clase

Los métodos de clase al igual que las variables de clase, se aplican a la clase como un todo y no a sus instancias.

Se utiliza de igual manera la palabra clave static para indicar que un método es un método de clase:
static valorRetorno nombreMetodo( <lista argumentos opcionales> )
{
    /* cuerpo del método */
}
Para acceder a las variables o métodos de clase se utiliza el mismo operador punto ( . ).

Aunque se puede acceder a las variables y métodos de clase a través de un objeto, está permitido y se recomienda utilizar mejor el nombre de la clase,
  /* Utilizar esto */
  nombreClase.nombreVarClase;
  nombreClase.nombreMetodoClase();

  /* en lugar de esto */
  nombreObjeto.nombreVarClase;
  nombreObjeto.nombreMetodoClase();

Ejemplo

/* Usuario3.java */

class Usuario3
{
    static char MAS = 'm';
    static char FEM = 'f';

    String nombre;
    int edad;
    String direccion;
    char sexo;

    Usuario3( )
    {
       nombre = null;
       edad = 0;
       direccion = null;
       sexo = '\0';
    }

    Usuario3(String nombre, int edad, String direccion,char sexo)
    {
       this.nombre = nombre;
       this.edad = edad;
       this.direccion = direccion;
       this.sexo = sexo;
    }

    Usuario3(Usuario3 usr)
    {
       nombre = usr.getNombre();
       edad = usr.getEdad();
       direccion = usr.getDireccion();
       sexo = usr.getSexo();
    }

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

    void setSexo(char s)
    {
       sexo = s;
    }

    char getSexo( )
    {
       return sexo;
    }

    public String toString()
    {
       return nombre;
    }
}

/* ProgUsuario3.java */

class ProgUsuario3
{
  static int NUM_USUARIOS = 0;
  static java.util.Vector usuarios = new java.util.Vector();

  String nombreObj = null;

  ProgUsuario3(String nombre)
  {
    this.nombreObj = nombre;
  }

  static int getNumUsuarios()
  {
    return NUM_USUARIOS;
  }

  static void imprimeUsuario(Usuario3 usr)
  {
     System.out.println("\nNombre: " + usr.nombre );
     System.out.println("Edad: " + usr.getEdad() );
     System.out.println("Sexo: " + usr.getSexo() );
     System.out.println("Direccion: " + usr.getDireccion() );
  }

  void addUsuario(Usuario3 usr)
  {
     usuarios.addElement(usr);
     System.out.print(usr.toString( )+ " agregado por el "+ this.toString() +",");
     NUM_USUARIOS ++;
  }

  void delUsuario(Usuario3 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[])
  {
     ProgUsuario3 obj1 = new ProgUsuario3("objeto1");
     ProgUsuario3 obj2 = new ProgUsuario3("objeto2");

     Usuario3 usr1,usr2,usr3,usr4;

     usr1 = new Usuario3( );
     usr2 = new Usuario3("Usuario B",24,"La direccion A",Usuario3.FEM);
     usr1 = new Usuario3(usr2);
     usr1.setNombre("Usuario A");
     usr3 = new Usuario3("Usuario C",35,"La direccion C",Usuario3.MAS);
     usr4 = new Usuario3("Usuario D",15,"La direccion D",Usuario3.MAS);

     obj1.addUsuario(usr1);
     System.out.println( "\t Total: " +ProgUsuario3.getNumUsuarios() );
     obj2.addUsuario(usr2);
     System.out.println( "\t Total: " +obj1.getNumUsuarios() );
     obj1.addUsuario(usr3);
     System.out.println( "\t Total: " +ProgUsuario3.NUM_USUARIOS );
     obj2.addUsuario(usr4);
     System.out.println( "\t Total: " +getNumUsuarios() +"\n");

     obj2.delUsuario(usr4);
     System.out.println( "\t Total: " +ProgUsuario3.getNumUsuarios() );
     obj1.delUsuario(usr3);
     System.out.println( "\t Total: " +obj1.getNumUsuarios() );
     obj2.delUsuario(usr2);
     System.out.println( "\t Total: " +ProgUsuario3.NUM_USUARIOS );
     obj1.delUsuario(usr1);
     System.out.println( "\t Total: " +getNumUsuarios() +"\n");
  }
}
Atte:Kimberli Apolonio Alonso Very Happy
Adrian Castro Pantaleon
Marco Antonio Guzman Najera
Salma Patiño Mojica alien cheers afro

LOS INCREIBLES
Invitado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.