Programacion orientada
La P.O.O. es un paradigma de programacin que se fundamenta en los conceptos de objeto y clase. En primer lugar, definamos que entendemos por objeto y clase:
Objeto:
Una entidad autnoma con una funcionalidad concreta y bien definida.
Clase:
Especificacin de las caractersticas de un conjunto de objetos.
Un objeto es una instancia de una clase.
Losconceptos presentados en esta seccin se ilustrarn usando un ejemplo que se ir completando poco a poco a medida que se introduzcan nuevos conceptos. Es ms, este mismo ejemplo se emplea en las secciones dedicadas al tratamiento de excepciones y a la programacin con hebras. As, preparemos el camino creando un proyecto:
Crear un proyecto (File | New | Application)
Cambiar el nombre del formulario(Name=PpalFrm). Colocar un PaintBox de la pgina de componentes System que se llame PaintBox, con Align=alTop. Dejar espacio por debajo del PaintBox para colocar un botn.
Colocar un bevel de ancho 4 y alinearlo en lo alto (Align=alTop). La idea es que delimite la parte inferior del PaintBox.
Colocar un botn bit que permita terminar la ejecucin del programa. El botn estar centrado horizontalmente enla parte inferior del formulario.
Guardar el cdigo del formulario como Ppal.cpp y el proyecto como Ejemplo.bpr.
Crear una unidad (File | New | Unit). Guardarla con el nombre ObjGraf.cpp
Cuando se crea una unidad de esta manera se crean, en realidad, dos ficheros, uno con extensin .cpp y otro con extensin .h. As, disponemos de dos ficheros: ObjGraf.h, que contendr las declaraciones de lasclases con las que vamos a trabajar, y ObjGraf.cpp, que contendr la definicin (implementacin de los mtodos) de stas.
En ObjGraf.h:
//--------------------------------------------------
#ifndef ObjGrafH
#define ObjGrafH
// Definicin de la clase TObjGraf
class TObjGraf {};
#endif
//--------------------------------------------------
Ntese que el nombre de la clase va precedido poruna T, y, aunque no es obligatorio, si es muy recomendable ya que es una convencin de C++ Builder que casi todos los nombres de clases vayan precedidos por T.
Muy Importante: Con el ejemplo anterior slo conseguimos definir la clase, pero no se crea ningn objeto.
El Paradigma de la POO en C++
Existen cuatro principios bsicos que cualquier sistema orientado a objetos debe incorporar, que seesquematizan en la figura 1
Figura 1. Pilares de la POO.
Creacin y Destruccin de Objetos
Ya se ha dicho que una clase es nicamente una especificacin. Para poder utilizar la funcionalidad contenida en la misma, se deben instanciar las clases.
1.Creacin por Declaracin.
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 veces en OnCreate de la pestaa 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 programacin de C++clsica, en C++ Builder se utiliza en muy contadas ocasiones. Esto es as por dos razones, fundamentalmente:
1.La duracin de los objetos suele ir ms all de una simple funcin o bloque. Debido al enfoque de la programacin 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 creacin con la VCL.
Por lotanto, nosotros no la utilizaremos.
2.Creacin Dinmica
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 quedara totalmente inaccesible). En definitiva, se requiere la declaracin previa de un puntero a objetos del tipo...
Regístrate para leer el documento completo.