martes, 19 de abril de 2011

Creación de Constructores en Java

Un tema que ya hemos visto en varias ocasiones es la definición de constructores en Java.  Un constructor define como construir un objeto a partir de una clase.
Por ejemplo si creamos la clase Cuenta:
// Definición de la clase cuenta
public class Cuenta {
int numero;
String nombre;
double saldo;

public void Balance()
{
System.out.println("El saldo de la cuenta No. "+ this.numero + " es " +     this.saldo);
}
}

Si revisamos la clase podemos observar que no hay definido ningún constructor, por lo que Java le define internamente un constructor por defecto. El constructor por defecto se llama utilizando la palabra new. El código siguiente muestra como se crearía el objeto c a partir de la clase Cuenta con el constructor por defecto.

public class Principal { 
public static void main(String[] args) { 
// Creación del objeto c del tipo Cuenta 
Cuenta c = new Cuenta(); 
c.Balance(); 
} 
} 

TIPOS DE CONSTRUCTORES
Cuando queremos definir un constructor a una clase colocamos la palabra public seguido del nombre de la clase, abrimos llaves y escribimos el código correspondiente.  Los constructores pueden tener parámetros y se pueden definir más de uno siempre y cuando sus parámetros sean diferentes.  Por ejemplo para la clase cuenta se podrían definir tres constructores.  CUANDO SE DEFINE UN CONSTRUCTOR CON PARAMETROS, EL CONSTRUCTOR POR DEFECTO  TIENE QUE DEFINIRSE EXPLICITAMENTE EN LA CLASE SI SE DESEA USAR.



// Definición de la clase cuenta
public class Cuenta {
int numero;
String nombre;
double saldo;

public Cuenta(){
}

public Cuenta(int numero)
{
this.numero = numero;
}
public Cuenta(int numero, String nombre) {
this.numero = numero;
this.nombre = nombre;
}
public Cuenta(int numero, String nombre, double saldo) {
this.numero = numero;
this.nombre = nombre;
this.saldo = saldo;
}

public void Balance()
{
System.out.println("El saldo de la cuenta No. "+ this.numero + " es " +     this.saldo);
}
}


En el ejemplo anterior se definieron 4 constructores para la clase Cuenta, un constructor por defecto y 3 constructores con parámetros.  Si se fija bien los parámetros son diferentes en cada constructor; el primero tiene un parámetro, el segundo tiene dos y el tercero tiene tres.  Podrían definirse más si así lo desea.

Saludos

1 comentario:

  1. Hola, muy buen post me gusta cuando tiene ejemplos, podrías agregar también lo que hoy en día se conoce como "Constructor Copia".
    Te dejo un link a unos de mis post que hablo sobre este tema.
    http://java-white-box.blogspot.com.ar/2013/12/javaplayer-constructores-en-java-que-es.html
    Saludos

    ResponderEliminar