ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Constructores Y Destructores


Enviado por   •  16 de Mayo de 2015  •  759 Palabras (4 Páginas)  •  271 Visitas

Página 1 de 4

Constructores y destructores: declaración, uso y aplicaciones.

Constructores y destructores

Los constructores y destructores son dos tipos de métodos especiales que se ejecutan, respectivamente, al crear un nuevo objeto y cuando el recolector de basura detecta que ya no lo estamos utilizando y es posible eliminarlo de la memoria. Hasta ahora no hemos hecho uso nunca ni de los constructores ni de los destructores puesto que los ejemplos que hemos venido utilizando eran bastante simples, pero a partir de ahora vamos a empezar a utilizarlos bastante a menudo. Sobre todo en el caso de los constructores, ya que los destructores no se suelen usar más que en contadas ocasiones.

Para crear un objeto se necesita reservar suficiente espacio en memoria e inicializar los valores de los campos que representan el estado del objeto.

Este trabajo es realizado por un tipo especial de método denominado constructor.

Constructor

Un método constructor de una clase es un método especial que:

• tiene el mismo nombre que la clase y

• no tiene tipo de retorno.

• inicializa el estado de un objeto.

La sintaxis para la declaración de un método constructor es:

[atributos] [modificadores] <identificador> ( [parámetros] ) [inicializador]

{

// Cuerpo del constructor.

}

Donde:

atributos (opcional) es información declarativa adicional.

modificadores (opcional) se restringen a extern y a los modificadores de acceso.

identificador es el nombre del método constructor (igual al nombre de la clase).

parámetros (opcional) es la lista de parámetros pasados al constructor.

inicializador (opcional). Con el inicializador, el constructor invoca previamente a otro constructor.

El inicializador puede ser uno de los siguientes:

· base([listaDeParámetros])

· this([listaDeParámetros])

Cuerpo del constructor es el bloque de programa que contiene las instrucciones para inicializar la instancia de clase (objeto).

Ejemplo:

class Producto

{

private int clave;

private double precio;

public Producto( int c, double p)

{

clave = c;

precio = p;

}

public double daPrecio( )

{

return precio;

}

}

Destructor

En contraposición al constructor, el destructor elimina el vínculo y libera el espacio de memoria de un objeto, para que pueda ser ocupado nuevamente.

La sintaxis para declarar un destructor es:

[atributos] ~ <identificador> ( )

{

// Cuerpo del destructor.

}

Notas:

• Una clase solamente puede tener un destructor.

• Los destructores no pueden heredarse o sobrecargarse.

• Los destructores no pueden invocarse, sino que son invocados automáticamente.

• Un destructor no acepta modificadores ni parámetros. Por ejemplo, la siguiente es una declaración de un destructor para la clase Figura:

~ Figura()

{

// Instrucciones para limpiar.

}

El destructor llama implícitamente al método Object.Finalize( ) en la clase base object. Por lo tanto, el código destructor precedente es traducido automáticamente a:

protected override void Finalize( )

{

try

{

// Instrucciones para limpiar.

}

finally

{

base.Finalize( ) ;

}

}

Ejemplo:

// Destructores.cs : Maneja tres destructores de clases encadenadas.

using System;

using C = System.Console;

class Primera

{

~ Primera( )

{

C.WriteLine("Se invocó al destructor de Primera...");

}

}

class Segunda : Primera

{

~ Segunda( )

{

C.WriteLine("Se invocó al destructor de Segunda...");

}

}

class Tercera : Segunda

{

~ Tercera( )

...

Descargar como (para miembros actualizados) txt (6 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com