Unidades Enfoque Orientado a Competencias
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

METODOS DE CLASE

Ir abajo

METODOS DE CLASE Empty METODOS DE CLASE

Mensaje por LOS INCREIBLES 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

Volver arriba

- Temas similares

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