El documento describe los conceptos fundamentales de la programación orientada a objetos, incluyendo objetos, clases, herencia, polimorfismo, encapsulamiento y abstracción. También cubre los pasos para crear una aplicación en Visual Basic, así como los eventos y el ambiente gráfico de usuario.
Programación orientada a objetos: conceptos clave POO
1. Brandon Urrego
1) Programación orientada a objetos.
Es un paradigma de la programación que utiliza objetos y sus interacciones
para diseñar aplicaciones y programas informáticos, además viene siendo muy
utilizada y muy importante para el desarrollo de proyectos de software.
Elementos de la POO:
Objeto:
Podría definirse como la unidad que en tiempo de ejecución realiza las tareas
de un programa.
Todo el programa está construido en base a diferentes Objetos, cada uno tiene
un rol específico en el programa y todos los componentes pueden comunicarse
entre ellos de formas predefinidas.
Clase
Las clases son declaraciones de objetos. Esto quiere decir que la definición de
un objeto es la clase. Cuando programamos un objeto y definimos sus
características y funcionalidades en realidad lo que estamos haciendo es
programar una clase.
Una clase es la estructura de un objeto, es decir, la definición de todos los
elementos de que está hecho un objeto. Un objeto es, por lo tanto, el
"resultado" de una clase. En realidad, un objeto es una instancia de una clase,
por lo que se pueden intercambiar los términos objeto o instancia (o incluso
evento).
2) Características del lenguaje:
Abstracción:
2. Es el proceso consistente en identificar los objetos apropiados en una
aplicación e ignorar la información innecesaria. La abstracción conlleva la
reutilizabilidad a través del encapsulamiento o el ocultamiento de información.
Consiste en aislar un elemento de su contexto o del resto de los elementos que
lo acompañan, permite que dispongamos de las características de un objeto
que necesitemos.
Encapsulamiento:
El encapsulamiento consiste en unir en la Clase las características y
comportamientos, esto es, las variables y métodos. Es tener todo esto es una
sola entidad. En los lenguajes estructurados esto era imposible. Es evidente
que el encapsulamiento se logra gracias a la abstracción y el ocultamiento de
información.
La utilidad del encapsulamiento va por la facilidad para manejar la complejidad,
ya que tendremos a las Clases como cajas negras donde sólo se conoce el
comportamiento pero no los detalles internos, y esto es conveniente porque
nos interesará será conocer qué hace la Clase pero no será necesario saber
cómo lo hace.
Herencia:
La herencia básicamente consiste en que una clase puede heredar sus
variables y métodos a varias subclases (la clase que hereda es llamada
superclase o clase padre). Esto significa que una subclase, aparte de los
atributos y métodos propios, tiene incorporados los atributos y métodos
heredados de la superclase. De esta manera se crea una jerarquía de
herencia.
Polimorfismo:
En programación orientada a objetos el polimorfismo se refiere a la posibilidad
de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser
heterogénea. El único requisito que deben cumplir los objetos que se utilizan de
manera polimórfica es saber responder al mensaje que se les envía.
Se refiere a la capacidad para que varias clases derivadas de una antecesora
utilicen un mismo método de forma diferente. La posibilidad de emplear la
misma expresión para denotar operaciones diferentes se conoce como
polimorfismo.
3. 3) Pasos para crear una aplicación en Visual Basic:
Crear la interfaz de usuario
Usted crea una interfaz dibujando controles y objetos sobre un formulario. A fin
de hacer que su código sea más fácil de leer y depurar, debe luego asignar
nombres a los objetos usando convenciones de nombres estándar.
Establecer las propiedades de los objetos de la interfaz
Luego de añadir objetos al formulario, se establece las propiedades de los
objetos. Puede establecer valores iniciales ya sea usando la ventana de
propiedades en tiempo de diseño o escribiendo código para modificar las
propiedades en tiempo de ejecución.
Escribir código para los eventos
Luego de establecer las propiedades iniciales para el formulario y cada objeto,
añada el código que se ejecutará en respuesta a los eventos. Los eventos
ocurren cuando diferentes acciones ocurren sobre un control u objeto. Por
ejemplo, clic es un evento que puede ocurrir para un botón de comando.
Guardar el proyecto
Cuando crea el proyecto, asegúrese de darle un nombre usando el comando
Guardar Proyecto como del menú Archivo. Guarde su proyecto frecuentemente
conforme añada código. Al guardar un proyecto se guardan cada formulario y
módulo de código en el proyecto.
Probar y depurar la aplicación
Conforme añada código al proyecto, puede usar el comando Iniciar en la Barra
de Herramientas para ejecutar su aplicación y ver su comportamiento. También
puede usar las herramientas de depuración para verificar errores y modificar
código.
Crear un archivo ejecutable. Al completar su proyecto, crear un archivo
ejecutable usando el comando Generar Xxxxxxx.exe del menú Archivo.
Crear una aplicación de instalación
Debido a que su archivo ejecutable depende de otros archivos, tales como el
archivo en tiempo de ejecución de Visual Basic (Vbrun50032.dll), algunos
archivos OCX y archivos DLL adicionales requeridos por la aplicación o por los
controles ActiveX.
4. 4) Ambiente gráfico:
Es un programa informático que actúa de interfaz de usuario, utilizando un
conjunto de imágenes y objetos gráficos para representar la información y
acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar
un entorno visual sencillo para permitir la comunicación con el sistema
operativo de una máquina o computador.
Habitualmente las acciones se realizan mediante manipulación directa, para
facilitar la interacción del usuario con la computadora. Surge como evolución de
las interfaces de línea de comandos que se usaban para operar los
primeros sistemas operativos y es pieza fundamental en un entorno gráfico.
Como ejemplos de interfaz gráfica de usuario, cabe citar los entornos de
escritorio Windows, el X-Windows de GNU/Linux o el de Mac OS X, Agua.
En el contexto del proceso de interacción persona-ordenador, la interfaz gráfica
de usuario es el artefacto tecnológico de un sistema interactivo que posibilita, a
través del uso y la representación del lenguaje visual, una interacción amigable
con un sistema informático.
Un Objeto tiene como características atributos y métodos.
Atributos:
Los atributos son características que describen a determinado objeto, como
puede ser su nombre, edad, sexo, tamaño, forma, color, altura, etc.
En este momento los atributos también podrán ser llamados "Datos" de los
objetos, involucrándonos un poco más con lo referente a la terminología de un
sistema de información.
Los atributos son elementos importantes en el campo de la programación, ya
que serán determinados de forma más específica, y de acuerdo al análisis del
contexto o ambiente de donde se extraigan los objetos, determinando los
atributos que nos serán útiles en determinado momento, y no dejando nada de
forma ambigua o indeterminada
5. Métodos:
Los métodos, anteriormente tratados como comportamiento, son las cosas que
un objeto puede hacer, como estudiar, correr, hablar, trabajar, etc.
.- objeto: Ave.- métodos: volar, correr, comer, brincar.
Bueno este ejemplo es enfocado al mundo real, pero si queremos enfocarnos
en el ambiente de la programación, un ejemplo sería:
.- objeto: cliente.- métodos: dar de alta, dar de baja, modificar datos, consulta
de datos.
En este caso, son las acciones que podemos realizar sobre determinado
objeto, viéndolo de manera funcional en un sistema de información.
Los métodos también se definen según lo analizado en la problemática, es
decir, según las necesidades presentadas, se agregaran los métodos que se
van a utilizar para cada objeto o clase según el fin de dicho objeto o clase.
EVENTOS:
Los eventos son el medio como interactúa una clase con otras o con el propio
usuario, se encargan de avisar que algo ha ocurrido y de manejarlo de una
forma o de otra. Cada vez que escribimos con nuestro teclado, que hacemos
click en un botón o un link, que cambiamos el tamaño de un objeto,
estamos generando eventos. Es por ello que, cuando programamos, debemos
tener en cuenta la posibilidad (no siempre necesaria, pero lo será a medida que
generemos clases cada vez más complejas), tanto de manejar eventos que
sólo implican a nuestra clase como de generar nuestros propios eventos, de
modo que los usuarios de nuestras clases (en principio nosotros mismos)
puedan decidir cómo reaccionará su código ante ellos.
El modo de manejar los eventos en P.O.O. se conoce como emisor/receptor,
también llamado despachador/escuchador o simplemente dispatcher/listener.
En esta dupla, la primera parte (el emisor) se encargará de lanzar el evento,
mientras la segunda se encargará de recibirlo y gestionarlo como sea
6. necesario. La primera parte será responsabilidad nuestra (los programadores
de la clase) y la segunda es responsabilidad de quien utiliza la clase (en
principio, también nosotros).
Cada lenguaje tiene su propio manejador de eventos, que es el que nos
permite, tanto lanzar los eventos como crear los receptores
(escuchadores/listeners) que nos permitirán manejarlos. Realmente es una
aplicación del patrón Observé, del que hablaremos más adelante, cuando
hablemos de patrones, pero que necesariamente tocaremos en este post.
Los eventos son todas las acciones que el usuario inicia, dar clic sobre un
botón, presionar las teclas del teclado, etc. Cada vez que se produce un
evento, se crea un objeto. La clase padre de los eventos es "java.awt.event".
Cada lenguaje de programación tiene su propio modelo de eventos, en Java se
definen clases auxiliares llamadas escuchadores (listeners) que reciben
eventos específicos. Los escuchadores se registran en las fuentes de eventos
(teclado, ratón, etc.). Estas envían objetos del tipo EventObjet la los
escuchadores registrados al producirse un evento. Cada escuchador utiliza la
información recibida a través del objeto para realizar las acciones adecuadas.