Ensayo

Páginas: 19 (4647 palabras) Publicado: 23 de junio de 2013

5.2. Creación y Destrucción de Objetos
Ya se ha dicho que una clase es únicamente una especificación. Para poder utilizar la funcionalidad contenida en la misma, se deben instanciar las clases.
1. Creación por Declaración.
Un objeto se puede instanciar de una forma simple, declarando una variable del tipo de la clase.
En Ppal.h:
#include "ObjGraf.h"
En Ppal.cpp:
Pulsando dos vecesen OnCreate de la pestaña Events del editor de objetos de PpalFrm:
//--------------------------------------------------

void __fastcall TPpalFrm::FormCreate(TObject *Sender)
{
TObjGraf ObjGraf1();
TObjGraf ObjGraf2;
}

//--------------------------------------------------

Aunque esta forma es posible, y bastante utilizada en la programación de C++ clásica, en C++ Builder se utiliza enmuy contadas ocasiones. Esto es así por dos razones, fundamentalmente:
1. La duración de los objetos suele ir más allá de una simple función o bloque. Debido al enfoque de la programación dirigida por eventos, suele ser habitual que un objeto se cree en un gestor de eventos y se destruya en otro.
2. No se puede usar esta modalidad de creación con la VCL.
Por lo tanto, nosotros no la utilizaremos. 
2. Creación Dinámica
Es la forma habitual de crear objetos en C++ Builder, y se realiza mediante el operador new .
Cuando usamos new para instanciar un objeto, se usa una variable que referencie o apunte al nuevo objeto creado (de otra manera éste quedaría totalmente inaccesible). En definitiva, se requiere la declaración previa de un puntero a objetos del tipo del que se va a crear.En Ppal.cpp:
TObjGraf * ObjGraf; // Variable Global.
// ObjGraf es un puntero a objetos de tipo TObjGraf

//--------------------------------------------------

void __fastcall TPpalFrm::FormCreate(TObject *Sender)
{
ObjGraf = new TObjGraf;
}

//--------------------------------------------------
La forma de establecer el estado inicial o destruir las componentes de unobjeto se estudiarán en el apartado dedicado a Constructores y Destructores (sección 5.4).
¡Cuidado! Cuando se utiliza esta forma de instanciación de clases es responsabilidad únicamente del programador la correcta destrucción de los mismos.
 
3. Destrucción de objetos
Cuando un objeto deja de ser útil hay que eliminarlo. De esta manera la aplicación recupera los recursos (memoria) que eseobjeto había acaparado cuando se creó.
La destrucción de objetos creados en tiempo de ejecución con new se realiza mediante el operador delete.
En Ppal.cpp:
Pulsando dos veces en OnDestroy de la pestaña Events del editor de objetos de PpalFrm:
//--------------------------------------------------

void __fastcall TPpalFrm::FormDestroy(TObject *Sender)
{
delete ObjGraf;
}//--------------------------------------------------
 
5.3. Encapsulamiento
En la programación clásica (lenguaje C, p.e.) existen datos y procedimientos que actúan sobre esos datos. No hay una relación aparente entre datos y procedimientos (funciones) y esta relación se establece de manera más o menos pecisa de acuerdo a la profesionalidad del programador.
En un objeto podemos distinguir dos aspectos biendiferenciados:
Estado -----------> Propiedades
Comportamiento ---> Métodos
En P.O.O. los datos y los procedimientos que los gestionan están relacionados explícitamente y se "encapsulan" en un objeto. La especificación de las propiedades de un objeto y los métodos de acceso se realiza en la declaración de la clase de la que se instancia el objeto.
En la figura 5.2 esquematizamos las propiedades ymétodos que se van a asociar a los objetos de la clase TObjGraf:
Figura 5.2. Propiedades y métodos de los objetos de la clase TObjGraf.

La declaración de propiedades y métodos de los objetos de la clase TObjGraf se realiza de la siguiente manera:
En ObjGraf.h:
//--------------------------------------------------

class TObjGraf {

public:
int X; // Propiedades...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ensayo de el Ensayo
  • ensayo de ensayo
  • Ensayo Del Ensayo
  • Ensayo de un ensayo
  • Ensayemos un ensayo
  • ensayo del ensayo
  • Ensayo del ensayo
  • Ensayo del ensayo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS