Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Iniciación y finalización de objetos en Java: Constructores y destructores, Apuntes de Química

El concepto de inicialización de objetos en Java mediante constructores y la importancia de la recolección de basura en la liberación de memoria. Además, se muestra cómo definir un método finalize para realizar operaciones adicionales antes de la eliminación de un objeto.

Tipo: Apuntes

2021/2022

Subido el 07/03/2022

torres-pacheco-emiliano-martin-secc
torres-pacheco-emiliano-martin-secc 🇲🇽

5 documentos

1 / 14

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Es muy común que partes de un programa requieran
inicialización. Cada objeto que se crea requiere de
algún tipo de inicialización, para realizar esto Java
incorpora una función constructora llamada
(constructor).
Característica del constructor:
1. El constructor se llama automáticamente cuando se
declara un objeto.
2. El constructor tiene el mismo nombre de la clase.
3. No tiene tipo devuelto.
4. Puede o no tomar argumentos.
ING. R.C.G.G. 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Vista previa parcial del texto

¡Descarga Iniciación y finalización de objetos en Java: Constructores y destructores y más Apuntes en PDF de Química solo en Docsity!

Es muy común que partes de un programa requieran

inicialización. Cada objeto que se crea requiere de

algún tipo de inicialización, para realizar esto Java

incorpora una función constructora llamada

(constructor).

Característica del constructor:

1. El constructor se llama automáticamente cuando se

declara un objeto.

2. El constructor tiene el mismo nombre de la clase.

3. No tiene tipo devuelto.

4. Puede o no tomar argumentos.

class miclase{

int a;

miclase(){ System.out.println("CONSTRUCTOR"); a=10; } void mostrar(){ System.out.println(a); } }

class miclase_run{

public static void main(String args[ ]){ miclase obj1=new miclase(); obj1.mostrar(); } }

Java dispone de un elemento denominado recolector de

basura (garbage collector) que se encarga de liberar

memoria asignada a objetos que ya no se utilizan.

Aún así en ocasiones será necesario disponer de un

método que realice operaciones adicionales a la mera

liberación de memoria. Para este fin se crea un método,

denominado finalize, con las siguientes características:

protected void finalize() {

… cuerpo del destructor

class miclase{

int a; miclase(){ System.out.println("CONSTRUCTOR"); a=10; } void mostrar(){ System.out.println(a); } protected void finalize(){ System.out.println("Finaliza"+a); }

}

class miclase_run{

public static void main(String args[ ]){ miclase ob=new miclase(); ob.mostrar(); }

} (^) ING. R.C.G.G. 5

class miclase{

int a; miclase(){ System.out.println("Inicializa clase"); a=50; } void mostrar(){ miclase o=new miclase(); } protected void finalize(){ System.out.println("Termina clase"); }

}

class miclase_run{

public static void main(String args[ ]){ int i; miclase ob=new miclase(); for (i=1; i<10000; i++) ob.mostrar(); }

}

Se puede pasar argumentos a un constructor de la

misma forma que a cualquier método, solo hay que

declarar los argumentos y pasarlos al método.

class ejemplo{ int i;

ejemplo(int n){ i=n; } int obtener(){ return i*i; } }

class ejemplo_run{ public static void main(String arg[ ]){ ejemplo obj1= new ejemplo(7);

System.out.println(obj1.obtener()); } }

Dada la siguiente clase

class area{

double alto, ancho ;

}

Desarrolle un programa que incluya 2 métodos miembro llamados rectángulo y triangulo que devuelvan el área de un rectángulo y un triangulo respectivamente.

Utilice un constructor que inicialice alto y ancho en 0;

Y un destructor que despliegue un mensaje de fin de programa.

class area{ double ancho, alto; double rectangulo (double a, double b){ alto=a; ancho=b; return (altoancho); } double triangulo (double c, double d){ alto=c; ancho=d; return (altoancho)/2; } ING. R.C.G.G.^10

area(){ alto=0; ancho=0; } protected void finalize(){ System.out.println("Fin de programa"); }

}

class area_run{

public static void main(String arg[ ]){ double x=10, y=15,d=12,f=14; area obj1=new area(); System.out.println(obj1.rectangulo(x,y)); System.out.println(obj1.triangulo(d,f)); }

}

PROGRAMA 13:

Agregue al programa 7 un constructor que inicialice todos los datos en cero y un destructor que despliegue el mensaje de “fin de programa”.

PROGRAMA 14:

Agregue al programa 8 un constructor que inicialice todos los datos en cero y un destructor que despliegue el mensaje de “fin de programa”.

PROGRAMA 15:

Agregue al programa 9 un constructor que inicialice todos los datos en cero y un destructor que despliegue el mensaje de “fin de programa”.

PROGRAMA 16:

Agregue al programa 10 un constructor que inicialice todos los datos en cero y un destructor que despliegue el mensaje de “fin de programa”.