Вы находитесь на странице: 1из 13

OBJETIVOS DEL TEMA

Conocer para que se utilizan los


constructores y como se definen.
Conocer el uso de la referencia this.
Conocer para que se utilizan los
destructores y como se definen.
CONSTRUCTOR
Cuando utilizamos el operador new acompaado del nombre
de una clase, se crea un objeto del tipo especificado (es decir
una instancia de la clase cuyo nombre aparece al lado de new)
En este momento se invoca a un mtodo especial de esa
clase, que se llama constructor
El constructor no devuelve ningn tipo, ni siquiera void.
Puede existir ms de uno o no existir.
El constructor es el encargado de inicializar el estado del
objeto (sus atributos), haciendo que el objeto sea utilizable
inmediatamente; reservando memoria para sus atributos,
iniciando sus valores
Ejemplo:
Cuadrado cuadrado=new Cuadrado();
Scanner entrada=new Scanner(System.in); // para la lectura
CONSTRUCTOR POR
DEFECTO
Java crea automticamente un constructor sin
parmetros para cualquier clase que definamos.
public class circulo{
// constante
public final double PI=3,1416;
// variables
private double radio=0;
// mtodos
} // fin de la clase circulo
Al crea un objeto de tipo circulo con new Circulo(), se
llama al constructor por defecto de la clase circulo,
con lo que se crea un objeto de tipo circulo cuyo
estado inicial ser el indicado en la inicializacin de la
variable radio y la constante PI.
CONSTRUCTORES DEFINIDOS
POR EL USUARIO
Los lenguajes de programacin permiten
definir constructores para especificar como
deben inicializarse un objeto al crearlo.
El nombre del constructor ha de
coincidir con el nombre de la clase.
public class circulo{
// constante
public final double PI=3,1416;
// variables
private double radio;
// mtodos
public circulo() {
this.radio=0;}
} // fin de la clase circulo
CONSTRUCTORES CON
PARAMETROS
public class circulo{
// constante
public final double PI=3,1416;
// variables
private double radio;
// mtodos
public circulo(double radio){
this.radio=radio;
}
} // fin de la clase circulo
CONSTRUCTORES CON
PARAMETROS
Cuando se crea un constructor con parmetros, ya no
se puede usar el constructor por defecto.
Ejemplo de crear un objeto de tipo cuadrado y usar el
constructor.
Cuadrado cuadrado = new Cuadrado(10,0);
Si se quiere crear una variable de tipo cuadrado sin usar
el constructor, se nos presentar un error.
Para facilitarnos la creacin de objetos, Java nos permite
definir varios constructores para una misma
clase(siempre y cuando tengan parmetros diferentes),
de tal forma que se pueda usar:
Cuadrado cuadrado = new Cuadrado(10,0); // o esta otra forma
Cuadrado cuadrado = new Cuadrado();
Constructores
La lista de parmetros especificada despus del
nombre de una clase en una sentencia new se
utiliza para pasar parmetros al constructor.
Se llama al mtodo constructor justo despus de
crear la instancia y antes de que new devuelva el
control al punto de la llamada.
As, cuando tenemos el constructor en la clase
MiPunto:
public MiPunto(int a, int b) // constructor
{ x=a; // asigna los valores para el punto x,y
y=b;
}
Constructores
Cuando se crea una instancia p1 de la clase
MiPunto:
MiPunto p1 = new MiPunto(10, 20);
Y se enva a mostrar sus valores, el
resultado es:
System.out.println( "p1.- x = " + p1.x + " y = "
+ p1.y );
Se muestra en la pantalla:
p1.- x = 10 p1.y = 20
La Referencia This
Java incluye un valor de referencia especial llamado this.
Se utiliza dentro de cualquier mtodo para referirse al
objeto actual.
Si hay dos objetos que utilicen el mismo cdigo,
seleccionados a travs de otras instancias, cada uno
tiene su propio valor nico de this.
Un refinamiento habitual es que un constructor llame a
otro para construir la instancia correctamente. El
siguiente constructor llama al constructor parametrizado
MiPunto(x,y) para terminar de iniciar la instancia:
MiPunto() { // este es un constructor sin parmetros
this( -1, -1 ); // Llama al constructor con parmetros que
asigna a x y
}
La Referencia This
En Java se permite declarar variables locales,
incluyendo parmetros formales de mtodos, que se
solapen con los nombres de las variables de instancia.
No se utilizan x e y como nombres de parmetro para
el mtodo inicia, porque ocultaran las variables de
instancia x e y reales del mbito del mtodo.
Si lo hubisemos hecho, entonces x se hubiera
referido al parmetro formal, ocultando la variable de
instancia x:
void inicia2( int x, int y ) {
x = x; // Ojo, no modificamos la variable de instancia!!!
this.y = y; // Modificamos la variable de instancia!!!
}
DESTRUCTOR
Un destructor es un mtodo que se invoca
automticamente cuando el objeto se destruye.
Un destructor es un mtodo que es ejecutado
cada vez que se destruye (se elimina de RAM) un
objeto, el objetivo de este mtodo es el de
eliminar toda la memoria que ocup un objeto.
En JAVA no es necesaria la definicin de
destructores (es ms no existen), pues el mismo
lenguaje se encarga de la eliminacin y
liberacin de la memoria ocupada por un objeto,
esto se realiza cada vez que un objeto pierde
todas sus referencias.
DESTRUCTOR
Es un mtodo de clase que sirve para
realizar ciertas operaciones necesarias al
dejar de existir un objeto, por ejemplo,
cerrar conexiones de una comunicacin,
cerrar ficheros, etc.
Para este fin se crea un mtodo,
denominado finalize, con las siguientes
caractersticas:
protected void finalize() throws Throwable {
cuerpo del destructor }
TAREA
Incluir un mtodo constructor uno sin
parmetros y otro con parmetros, en las
clases de las figuras utilizadas en la
prctica anterior.

Вам также может понравиться