Creación de componentes VCL (III) - Interactuando con los componentes

2 - Interactuando con los componentes

[editar]
Curso gratis creado por José Manuel. Extraido de: http://www.lawebdejm.com
30 de Noviembre de 1999
Si tuviéramos que crear un componente interactivo desde el principio, sería demasiado complejo, ya que tendríamos que luchar contra el propio API del sistema operativo, gestionando sus mensajes, las llamadas las funciones a bajo nivel, etc. Sin embargo, podemos aprovechar la mayoría del trabajo hecho por Borland en la VCL, y crear componentes interactivos a partir de otros ya existentes, aplicando la técnica de la herencia.

Dado que un componente es un objeto como otro cualquiera, podremos aplicar en él todas las técnicas de la orientación a objetos: encapsulación, herencia y polimorfismo.

La encapsulación ya la hemos utilizado sin apenas darnos cuenta, simplemente definiendo ciertos atributos como privados, para que no puedan ser accedidos desde fuera de la clase, y otros públicos o publicados (published) para ser usados por el programador que utilice el componente.

La herencia nos permite reutilizar código, haciendo que una clase dada (que llamaremos clase hija) adquiera todos los atributos y métodos públicos y protegidos de otra, llamada clase padre. De este modo, podemos aprovechar mucho código escrito, simplemente heredando de una clase ya escrita. Por si fuera poco, también es posible que una clase hijo tenga a su vez más descendencia, adquiriendo estos las características del padre y del “padre del padre”, es decir: del abuelo.

El polimorfismo lo dejaremos para otra ocasión, ya que se trata de una técnica un poco más compleja, que requiere entender y manejar correctamente la herencia.

La técnica de la herencia, aplicada a los componentes, nos permite personalizar cualquier componente para un uso más específico, ya sea porque no se ajusta bien a lo que necesitamos, o porque queremos ampliar las posibilidades del componente. La propia VCL utiliza la herencia continuamente, bien para reutilizar código de clases padre, o bien para ofrecernos clases padre de las que nosotros podemos heredar. Muchas “suites de componentes” hacen también esto, proporcionando un componente heredado a partir de cada uno de los básicos, y añadiendo en este nuevas características.

Para explicar cómo crear un componente interactivo, vamos a hacerlo a través de un ejemplo práctico: supongamos que necesitamos mostrar un árbol que muestre los directorios a partir de una carpeta dada, incluso supongamos que necesitamos mostrar el típico árbol de “Mi PC”, mostrando todas las unidades y las carpetas de cada una.
Para ello, podríamos escribir un componente desde cero, gestionando todo lo referente a la estructura en árbol, el dibujado en pantalla, la gestión de mensajes, etc., o podríamos utilizar la herencia para reutilizar el código ya escrito, concretamente basándonos en el componente TTreeView, que es el que nos permite mostrar en un formulario estructuras de tipo árbol. Sin embargo, el TTreeView que viene por defecto en Delphi, es muy genérico, y sirve para mostrar cualquier tipo de árbol. Nuestro caso es más específico: necesitamos mostrar un árbol, sí, pero más concretamente un árbol de directorios. Llamaremos a nuestra nueva creación TArbolDirectorios.

[editar]

Sé el primero en opinar


Cursos gratis relacionados con 'Creación de componentes VCL (III)'

En los últimos años, el desarrollo basado en componentes se ha convertido en una de... Más »

Autor y licencia de 'Creación de componentes VCL (III)'


Curso gratis de José Manuel. Extraido de: http://www.lawebdejm.com CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.