CONSTRUCTORES EN JAVA
Enviado por • 5 de Junio de 2013 • 863 Palabras (4 Páginas) • 652 Visitas
13. Constructores
Objetivos:
a) Introducir el concepto de constructor de una clase en Java
b) Interpretar el código fuente de una aplicación Java donde aparecen declaraciones
y llamadas a constructores
c) Construir una aplicación Java sencilla, convenientemente especificada, que
emplee clases en los que se declaren explícitamente constructores
Aunque en un principio pueda parecer lo contrario, un constructor no es en realidad un
método estrictamente hablando. Un constructor es un elemento de una clase cuyo identificador
coincide con el de la clase correspondiente y que tiene por objetivo obligar a y controlar cómo se
inicializa una instancia de una determinada clase, ya que el lenguaje Java no permite que las variables
miembro de una nueva instancia queden sin inicializar. Además, a diferencia de los métodos, los
constructores sólo se emplean cuando se quiere crear una nueva instancia.
13.1. Constructores
Por defecto toda clase tiene un constructor sin parámetros cuyo identificador coincide con el
de la clase y que, al ejecutarse, inicializa el valor de cada atributo de la nueva instancia: los atributos
de tipo primitivo se inicializan a 0 o false, mientras que los atributos de tipo objeto (referencia) se
inicializan a null.
En el ejemplo de la clase PruebaPrecio, que utiliza una instancia de la clase Precio, la
llamada al constructor se produce en la sentencia p = new Precio();. Mientras que la
ejecución de new genera una nueva instancia y devuelve su dirección de memoria, la ejecución del
constructor Precio() inicializa los valores de los atributos (Figura 13.1).
public class PruebaPrecio {
public static void main (String [] args ) {
Precio p; // Crea una referencia de la clase Precio
p = new Precio(); // Crea el objeto de la clase Precio y realiza
// una llamada al metodo constructor
// Resto del codigo ...
}
}
Figura 13.1. Resultado de la ejecución del constructor: inicialización de los atributos del nuevo objeto
13.2. Declaración de un constructor
La declaración de un constructor diferente del constructor por defecto, obliga a que se le
asigne el mismo identificador que la clase y que no se indique de forma explícita un tipo de valor de
retorno. La existencia o no de parámetros es opcional. Por otro lado, la sobrecarga permite que
puedan declararse varios constructores (con el mismo identificador que el de la clase), siempre y
146 A. García-Beltrán y J.M. Arranz
cuando tengan un tipo y/o número de parámetros distinto. Por ejemplo, para la clase Fecha se
declaran dos constructores, el primero sin parámetros (por lo tanto se redefine el constructor por
defecto) y el segundo con tres parámetros:
/**
* Declaracion de la clase Fecha
* @author A. Garcia-Beltran
* Ultima revision: noviembre, 2008
*/
public class Fecha {
// Atributos o variables miembro
private int dia;
private int mes;
private int anho;
/**
* Constructor 1
* Asigna los valores 1, 1 y 2000 a los atributos
* dia, mes y anho respectivamente
*/
public Fecha() {
dia = 1;
mes = 1;
anho = 2000;
}
/**
* Constructor 2
* @param ndia el dia del mes a almacenar
* @param nmes el mes del anho a almacenar
* @param nanho el anho a almacenar
*/
public Fecha(int ndia, int nmes, int nanho) {
dia = ndia;
mes = nmes;
anho = nanho;
}
public String toString() {
return dia + "/" + mes + "/" + anho;
}
}
La sobrecarga permite
...