EXES
CRÉDITOS
ÍNDICE DEL MANUAL
PRÓLOGO
EL LENGUAJE JAVA
BIBLIOGRAFÍA
EXES. LA COMPAÑÍA
 
Área de Programación y Desarrollo
  Curso de Introducción a Java
www.exes.es
Tel: 902 360 417
 Exes   Contactar 

4.4.5 Definición de constructores de una clase.

Cuando se construye un objeto es necesario inicializar sus variables con valores coherentes, imaginemos un objeto de la clase Persona cuyo atributo color de pelo al nacer sea verde, un estado incorrecto tras construir el objeto persona. La solución en los lenguajes orientados a objetos es emplear los constructores. Un constructor es un método perteneciente a la clase que posee unas características especiales:

  • Se llama igual que la clase.
  • No devuelve nada, ni siquiera void.
  • Pueden existir varios, pero siguiendo las reglas de la sobrecarga de funciones.
  • De entre los que existan, tan sólo uno se ejecutará al crear un objeto de la clase.

Dentro del código de un constructor generalmente suele existir inicializaciones de variables y objetos, para conseguir que el objeto sea creado con dichos valores iniciales.

Para definir los constructores se emplea la siguiente sintaxis:

         
         [modifVisibilidad] nombreConstructor (listaParámetros) [throws listaExcepciones]
         {
         }
         
Para modifVisibilidad se aplica las mismas normas que para atributos y métodos:
  • public: indica que es un método accesible a través de una instancia del objeto.
  • private: indica que a través de una instancia no es accesible el método. Al heredar el método se convierte en inaccesible.
  • protected: indica que a través de una instancia no es accesible el método. Al heredar si se puede usar desde la clase derivada.
  • Sin especificar: indica visibilidad de paquete, se puede acceder a través de una instancia, pero sólo de clases que se encuentren en el mismo paquete.

nombreConstructor debe de coincidir con el nombre de la clase.

listaParámetros es la lista de los parámetros que tomará la función separados por comas y definidos cada uno de ellos como:

	       tipo nombreParámetro
	      

La cláusula opcional throws es empleada para indicar que dentro del método se pueden generar errores en su ejecución, y que debemos estar preparados para tratarlos.

listaExcepciones es el nombre de todos esos posibles errores, su utilización la veremos en el punto dedicado a la gestión de errores mediante try y catch.

El constructor posee un par de llaves, dentro de las cuales estará el código que se ejecutará al ser llamada la función. Dicho código estará formado por instrucciones válidas en el lenguaje, finalizadas generalmente por punto y coma.

Práctica:
  • Vamos a agregar a la clase Persona un par de constructores, uno que la inicialice asignando a la edad un valor 0 y al nombre "anónimo", y otro que permita asignar al nombre un parámetro recibido en el constructor:
	            public Persona(){
		            edad = 0;
		            nombre = "anónimo";
	            }
	            public Persona(String nuevoNombre){
		            edad = 0;
		            nombre = nuevoNombre;
	            }
	         
  • y vamos a crear una clase ArranqueConstructor con el siguiente código:
            public class ArranqueConstructor {
                 public static void main (String arg[]){
                    Persona per1 = new Persona();
                    System.out.println( per1.getNombre());
                    System.out.println(per1.getEdad());
                    Persona per2 = new Persona("Luis");
                    System.out.println( per2.getNombre());
                    System.out.println(per2.getEdad());
                 }
            }
            
··> Ver todos los cursos
··> Si necesitas más información, contáctanos aquí
 
 
 
Sello de Calidad   Sello de Calidad
  EXES - C/ Albasanz, 14 Bis, 1-C. 28037 Madrid - Tel: 902 360 417 Fax: 902 931 305 - exes@exes.es