You are on page 1of 43
Puntos clave * Cualquier clase puede contar, ademas de con métodes y miembros de da tos, con propiedades, delegados y eventos. « Las propiedades se utilizan externamente como si fuesen variables pero, en realidad, tienen asociados métodos de asignacion y lectura que contro- lan el proceso. « Una propiedad puede ser sélo de lectura (Readon1y), sélo de escritura (WriteOn1ly) o de lectura y escrilura, segtin las operaciones permitidas. * Cada clase puede contar con una propiedad por detecto (Default), cuye nombre no es necesario especificar para leerla © modificarla * Un delegado es un tipo de dato similar a un puntere a una funcion pero con comprobacion de tipos, puede usarse para funciones de tipe callback y definicién de eventos « Mediante la palabra clave Event se detinen los eventos con que contara una clase, generandolos mediante RaiseEvent. * La conexion entre un evento, producido por un objeto, y el metodo que lo recibira, en otro objeto, puede establecerse mediante AddHandler o bien declarando el primer objeto con WithEvents y anadiendo al metodo que lo recibe el modificador Handles * Cualquier clase derivada de ComponentModel .Component, que facilita una implementacion por defecto de la interfaz TComponent, puede mani- pularse visualmente en un diseniador de Visual Basic .NET. Resumen El contenido de este capitulo, conjuntamente con el del anterior, nos ha apor- tado toda la informacion necesaria para poder definir nuestras propias clases de objetos y componentes, definiendo miembros de datos, métedos, propieda- des, delegados y eventos. Visual Basic .NET dispone de un importantisimo nu- mero de clases de objetos y componentes que disponen de diches elementos clases que usamos creandolas desde codigo o bien de manera visual como se vera en capilulos posteriores. La mayor utilidad del conocimiento adquirido, no obstante, la encontramos al definir nuestras propias clases. En ocasiones éstas se iran detiniendo automa- licamente, por ejemplo al afadir un formulario Windows a un proyecto e in- sertar componentes en su interior, mientras que en otras practicamente todo el trabajo sera manual, como al desarrollar nuevos componentes y controles En todo caso se trata de conceptos indispensables para poder desenvolver nos cémodamente en este Visual Basic orientado a objetos, conceptos que, ade- mas, haran mucho mas facil la comprension de otros lenguajes, como C# 0 J¥ oo Sh Si pusiésemos en una lista las caracteristicas que, durante afios, los progra- madores han pedido afiadir a Visual Basic 6, sin duda uno de los primeros puestos estaria ocupado por el tema que abordamos en este capitulo: la crea- cién de componentes y aplicaciones que ejecuten de manera concurrente varias tareas, lo que se conoce habitualmente como aplicaciones con multiples hilos de ejecucion o multithread. Aunque existente en Visual Basic 6, esta capacidad se limita tan sdlo a componentes con unas propiedades muy concretas y bas- tantes limitaciones. Visual Basic NET, al igual que el resto de los lenguajes integrados en Visual Studio .NET, puede crear libremente los hilos de ejecucién que necesite. Todos los elementos necesarios se encuentran en el Aambito System. Threading, co- mo podremos ver en este capitulo. La gestion de multiples hilos, no obstante, plantea también nuevas dificultades como la sincronizacién a la hora de acce- der a datos comunes a varios hilos. Fl estudio de estos problemas es uno de los objetivos que abordamos de inmediato. Aplicaciones de la concurrencia Que exista la posibilidad de crear y utilizar multiples hilos de ejecucién no implica que necesariamente tengamos que hacerlo, de igual manera que no uti- lizamos un bucle 0 un condicional por el simple hecho de que sean construccio- nes del lenguaje, sino que lo hacemos siempre a causa de una cierta necesidad.

You might also like