Translate

miércoles, 27 de febrero de 2013

Introducción a los objetos en Visual Basic



Un objeto es una estructura que contiene los datos y métodos que manipulan los datos. Casi todas las tareas realizadas en Visual Basic están asociadas con el uso de objetos. Si no tiene experiencia en programación orientada a objetos, los siguientes términos y conceptos le ayudarán a comenzar.

Clases y objetos

Las palabras "clase" y "objeto" se utilizan con tanta frecuencia en la programación orientada a objetos que es fácil confundir los términos. En general, una class es una representación abstracta de algo, mientras que un objeto es un ejemplo utilizable de lo que representa la clase. La única excepción a esta regla la constituyen los miembros de clases compartidas, que pueden utilizarse en instancias de una clase y en variables de objeto declaradas como tipo de la clase.

Campos, propiedades, métodos y eventos

Las clases se componen de campos, propiedades, métodos y eventos. Los campos y propiedades representan información que contiene un objeto. Los campos se parecen a las variables en que se pueden leer y establecer directamente. Por ejemplo, si tiene un objeto denominado "Car", podría almacenar su color en un campo denominado "Color".
Las propiedades se recuperan y establecen como los campos, pero se implementan mediante los procedimientos Get propiedad y Set propiedad, que proporcionan más control sobre la forma en que los valores se establecen o se devuelven. El nivel de direccionamiento indirecto entre el valor que se va a almacenar y los procedimientos que lo utilizan ayuda a aislar los datos y permite validar valores antes de ser asignados o recuperados.
Los métodos representan acciones que un objeto puede realizar. Por ejemplo, un objeto "Car" podría tener los métodos "StartEngine", "Drive" y "Stop". Los métodos se definen agregando procedimientos, ya sean rutinas o funciones Sub, a la clase.
Los eventos son notificaciones que un objeto recibe de, o transmite a, otros objetos o aplicaciones. Los eventos permiten a los objetos realizar acciones siempre que se produce un acontecimiento específico. Un ejemplo de evento para la clase "Car" sería un evento "Check_Engine". Puesto que Microsoft Windows es un sistema controlado por eventos, éstos pueden proceder de otros objetos, aplicaciones o entradas de usuario realizadas al hacer clic con el mouse (ratón) o al presionar teclas.

Encapsulación, herencia y polimorfismo

Los campos, propiedades, métodos y eventos son solamente la mitad de la ecuación de la programación orientada a objetos. Para que la programación orientada a objetos sea auténtica los objetos deben admitir tres cualidades: encapsulación, herencia y polimorfismo.
La encapsulación significa que un grupo de propiedades, métodos y otros miembros relacionados se tratan como si de una sola unidad u objeto se tratase. Los objetos pueden controlar cómo se cambian propiedades o se ejecutan métodos. Por ejemplo, un objeto puede validar valores antes de permitir cambios en la propiedad. La encapsulación, además, facilita la posibilidad de realizar cambios en la implementación pasado algún tiempo, mediante una actividad denominada ocultación de datos que permite ocultar los detalles de implementación de los objetos.
Herencia describe la posibilidad de crear nuevas clases basadas en una clase existente. La nueva clase hereda todas las propiedades, métodos y eventos de la clase base, y puede personalizarse con propiedades y métodos adicionales. Por ejemplo, puede crear una nueva clase denominada "Truck" basada en la clase "Car". La clase "Truck" hereda la propiedad "Color" de la clase "Car" y puede tener propiedades adicionales como "FourWheelDrive".
Polimorfismo significa que puede tener múltiples clases que se pueden utilizar de forma intercambiable, si bien cada clase implementa las mismas propiedades o los mismos métodos de maneras diferentes. El polimorfismo es esencial en la programación orientada a objetos puesto que permite utilizar elementos con los mismos nombres, independientemente del tipo de objeto que se esté utilizando en ese momento. Por ejemplo, dada una clase base "Car", el polimorfismo permite al programador definir diferentes métodos "StartEngine" para cualquier número de clases derivadas. El método "StartEngine" de una clase derivada denominada "DieselCar" puede ser totalmente diferente del método con el mismo nombre en la clase base. Otros procedimientos o métodos pueden utilizar el método "StartEngine" de las clases derivadas exactamente de la misma forma, con independencia del tipo de objeto "Car" que se esté utilizando en ese momento.

Sobrecarga, reemplazo y sombreado

La sobrecarga, el reemplazo y el sombreado son conceptos similares que pueden confundirse fácilmente. Aunque las tres técnicas permiten crear miembros con el mismo nombre, existen algunas diferencias importantes.
  • Los miembros sobrecargados se utilizan para proporcionar diferentes versiones de una propiedad o método que tienen el mismo nombre, pero que aceptan un número diferente de parámetros, o parámetros con diferentes tipos de datos.
  • Las propiedades y métodos reemplazados se utilizan para reemplazar una propiedad o método heredados que no son apropiados en una clase derivada. Los miembros reemplazados deben aceptar el mismo tipo de datos y número de argumentos. Las clases derivadas heredan los miembros reemplazados.
  • Los miembros sombreados se utilizan para reemplazar localmente un miembro que tiene un ámbito más amplio. Cualquier tipo puede sombrear cualquier otro tipo. Por ejemplo, puede declarar un propiedad que sombree un método heredado con el mismo nombre. Los miembros sombreados no se pueden heredar.

Ventajas de Visual Basic


Ventajas

  • Posee una curva de aprendizaje muy rápida.
  • Integra el diseño e implementación de formularios de Windows.
  • Permite usar con facilidad la plataforma de los sistemas Windows, dado que tiene acceso prácticamente total a la API de Windows, incluidas librerías actuales.
  • Es uno de los lenguajes de uso más extendido, por lo que resulta fácil encontrar información, documentación y fuentes para los proyectos.
  • Fácilmente extensible mediante librerías DLL y componentes ActiveX de otros lenguajes.
  • Posibilita añadir soporte para ejecución de scripts, VBScript o JScript, en las aplicaciones mediante Microsoft Script Control.
  • Tiene acceso a la API multimedia de DirectX (versiones 7 y 8). También está disponible, de forma no oficial, un componente para trabajar con OpenGL 1.1.7
  • Existe una versión, VBA, integrada en las aplicaciones de Microsoft Office, tanto Windows como Mac, que permite programar macros para extender y automatizar funcionalidades en documentos, hojas de cálculo y bases de datos (Access).
  • Si bien permite desarrollar grandes y complejas aplicaciones, también provee un entorno adecuado para realizar pequeños prototipos rápidos.

Caracteristicas Visual Basic


Los compiladores de Visual Basic generan código que requiere una o más librerías de enlace dinámico para que funcione, conocidas comúnmente como DLL (sigla en inglés de dynamic-link library); en algunos casos reside en el archivo llamado MSVBVMxy.DLL (siglas de "MicroSoft Visual Basic Virtual Machine x.y", donde x.y es la versión) y en otros en VBRUNXXX.DLL ("Visual Basic Runtime X.XX"). Estas bibliotecas DLL proveen las funciones básicas implementadas en el lenguaje, conteniendo rutinas en código ejecutable que son cargadas bajo demanda en tiempo de ejecución. Además de las esenciales, existe un gran número de bibliotecas del tipo DLL con variedad de funciones, tales como las que facilitan el acceso a la mayoría de las funciones delsistema operativo o las que proveen medios para la integración con otras aplicaciones.
Dentro del mismo Entorno de desarrollo integrado (IDE) de Visual Basic se puede ejecutar el programa que esté desarrollándose, es decir en modo intérprete (en realidad pseudo-compila el programa muy rápidamente y luego lo ejecuta, simulando la función de un intérprete puro). Desde ese entorno también se puede generar el archivo en código ejecutable (exe); ese programa así generado en disco puede luego ser ejecutado sin requerir del ambiente de programación (incluso en modo stand alone), aunque sí será necesario que las librerías DLL requeridas por la aplicación desarrollada se encuentren también instaladas en el sistema para posibilitar su ejecución.
El propio Visual Basic provee soporte para empaquetado y distribución; es decir, permite generar un módulo instalador que contiene al programa ejecutable y las bibliotecas DLL necesarias para su ejecución. Con ese módulo la aplicación desarrollada se distribuye y puede ser instalada en cualquier equipo (que tenga un sistema operativo compatible).
Así como bibliotecas DLL, hay numerosas aplicaciones desarrolladas por terceros que permiten disponer de variadas y múltiples funciones, incluso mejoras para el propio Visual Basic; las hay también para el empaquetado y distribución, y hasta para otorgar mayor funcionalidad al entorno de programación (IDE).