Está en la página 1de 7

3.8.1.

Constructores y
destructores.
Constructores y destructores

Constructor es un:
Mtodo que inicializa el objeto en su creacin.

Se llama automticamente cuando se crea un


objeto.
Su nombre es igual que el de la clase y no tiene
tipo de retorno.
Java proporciona un constructor sin parmetros
por defecto que deja de estar disponible cuando
se aade algn constructor.
Constructores y destructores

Destructor es un:
Es un mtodo perteneciente a una
clase que es ejecutado de forma
automtica cuando un objeto es
destruido. Java no soporta los
destructores.
Constructores y destructores en
herencia

En principio se hereda todo menos:


Constructor y destructor

Aunque no se heredan ni el constructor ni el


destructor de la clase base, cuando se crea o se
destruye un objeto de la clase derivada se invocan
automticamente los de la clase base. Se usa el
constructor por defecto (es decir sin parmetros).
Constructores y destructores en
herencia

Antes ejecutarse el cuerpo de un


constructor se debe llamar a su
constructor base.En
base Java se utiliza la
palabra reservada super.
public Rectangulo(int x,int y,int ancho,int
alto) {
super(x,y);
this.ancho=ancho;
this.alto=alto;
}
Constructores y destructores en
herencia

Al contrario que con los constructores,


una funcion destructor de una clase
derivada se ejecuta antes que el
destructor de la clase base. (los
destructores no se heredan).
Ejemplo :
Constructores y destructores en
herencia
Cuando creamos un
class Punto{ class Tripleta extends objeto con:
private int x; Punto { Tripleta t = new Tripleta (1, 2,
private int y; int z; 3);
public Punto () { public Tripleta() {
x=0; cambiarX(0);
y=0; cambiarY(0); Se llama al constructor
} z = 0; con parmetros, con
public Punto (int x, int } parmetros de Tripleta.
y){ public Tripleta(int vx,
this.x=x; int vy, int vz) {
this.y=y; cambiarX(vx); Una mejora a este
} cambiarY(vy);
z = vz; }
mtodo sera:
public int darX(){return
x;}
public int darY(){return public Tripleta(int vx, int vy, int
y;} int darZ() { return z; } vz) {
public void cambiarX void cambiarZ(int val) super (vx,vy);
(int val) {x=val;} { z = val; }
public void cambiarY }
z = vz;
(int val) {y=val;} }
}

También podría gustarte