Mostrando las entradas con la etiqueta constructor. Mostrar todas las entradas
Mostrando las entradas con la etiqueta constructor. Mostrar todas las entradas

22 marzo, 2010

Constructor y Destructor

¿Qué es un Constructor?
El objetivo de un constructor es el de inicializar un objeto cuando éste es creado. Asignaremos los valores iniciales así como los procesos que ésta clase deba realizar.
Se utiliza para crear tablas de métodos virtuales y poder así desarrollar el polimorfismo, una de las herramientas de la programación orientada a objetos (POO). Al utilizar un constructor, el compilador determina cual de los objetos va a responder al mensaje (virtual) que hemos creado. Tiene un tipo de acceso, un nombre y un paréntesis.

En java es un método especial dentro de una clase, que se llama automáticamente cada vez que se crea un objeto de esa clase.
Posee el mismo nombre de la clase a la cual pertenece y no puede regresar ningún valor (ni siquiera se puede especificar la palabra reservada void). Por ejemplo si añadiéramos a la clase Suma un constructor, tendríamos que llamarlo también Suma. Cuando en una clase no se escribe propiamente un constructor, java asume uno por defecto (que es el Constructor vacío, es decir sin parámetros).

Constructor por defecto:
Un constructor por defecto es un constructor sin parámetros que no hace nada. Sin embargo será invocado cada vez que se construya un objeto sin especificar ningún argumento, en cuyo caso el objeto será iniciado con los valores predeterminados por el sistema (los atributos numéricos a ceros, los alfanuméricos a nulos, y las referencias a objetos a null).

Constructor con Parámetros:
Un constructor con Parámetros siempre debe especificar algún argumento, en cuyo caso el objeto será iniciado con los valores indicados por el usuario, y realizará también las acciones programadas al ejecutarse.

Destructor:
Un destructor en algunos lenguajes de programación orientados a objetos es un método de una clase que se llama justo antes de una instancia de esa clase y se elimina de la memoria. No todos los lenguajes de programación orientados a objetos suelen tener un destructor.

La contrapartida de un destructor es un constructor que se ejecuta cuando se crea el objeto, se instancia y se lo inicializa.

NOTA: Si creamos un programa y no definimos el Constructor, el sistema toma por defecto al Constructor Vacío, pero si definimos a un Constructor con parámetros y al Vacío, esto se llama Sobrecarga de Constructores; y es cuando un programa tienes 2 o más Constructores, de los cuales solo uno puede estar vacío (es decir sin Parámetros).