El constructor de una clase es un método estándar para inicializar los objetos de esa clase
Se invoca automáticamente cuando new crea un objeto de esa clase.
- Los constructores se declaran en el momento de definir la clase.
class A {
int x, y;
A() { x=0; y=0; } // el constructor
...
}
A a= new A();
a.Print(); // 0 0
- El constructor puede tener parámetros. En este caso, se deben colocar los argumentos respectivos al crear el objeto:
class A {
int x, y;
A(int ix, int iy)
{ x=ix; y=iy; } // el constructor
...
}
A a= new A(1,2);
a.Print(); // 1 2
a= new A(); // error, hay que colocar
// los argumentos
a.A(1,2); // error, no se puede
// invocar el constructor
- Se pueden colocar varios constructores. Durante la creación de un objeto, se invoca aquel que calza con los argumentos dados:
class A {
int x, y;
A() { x=0; y= 0; }
A(int ix, int iy)
{ x=ix; y=iy; }
A(A from)
{ x= from.x; y= from.y; }
...
}
A a1= new A();
a1.Print(); // 0 0
A a2= new A(1,2);
a2.Print(); // 1 2
A a3= new A(a2);
a3.Print(); // 1 2
- Un destructor es un método que se invoca automáticamente cuando el objeto se destruye. Java no posee destructores, porque tiene recolección de basuras. C++ posee destructores.
No hay comentarios:
Publicar un comentario