Programación Orientada a Objetos

 

 

 

La programación orientada a objetos (POO) es una forma de programación que utiliza objetos, ligados mediante mensajes, para la solución de problemas. Puede considerarse como una extensión  natural de la programación estructurada en un intento de potenciar los conceptos de modularidad y reutilización del código.

 

 

MECANISMOS BASICOS DEL POO

 

Los mecanismos básicos de la programación orientada a objetos son: objetos, mensaje, métodos y clases.

 

 

Objetos

 

Un programa tradicional se compone de procedimientos y datos. Un programa orientado a objetos se compone solamente de objetos. Un objeto es una encapsulación de datos y de los procedimientos para manipularlos. Dicho de otra forma, un objeto es una entidad que tiene unos atributos particulares, las propiedades, y unas formas de operar sobre ellos, los métodos. Por lo tanto, un objeto contiene, por una parte, operaciones que definen su comportamiento, y por otra, variables manipuladas por esas operaciones que definen su estado.

 

Por ejemplo, una ventana del sistema operativo Windows es un objeto. El  color de fondo de una ventana, el ancho, el alto, etc. son propiedades. Las rutinas, lógicamente transparentes al usuario, que permiten maximizar la ventana, minimizarla, etc. son métodos.

 

 

Mensajes

 

Cuando se ejecuta un programa orientado a objetos, los objetos están recibiendo, interpretando y respondiendo a mensajes de otros objetos. Esto marca una clara diferencia con respecto a los elementos de datos positivos de los sistemas tradicionales. Por ejemplo, en Visual Basic un  mensaje esta asociado con un procedimiento, de tal forma que cuando un objeto recibe un mensaje la respuesta a ese mensaje es ejecutar el procedimiento asociado. Este procedimiento recibe el nombre de método.

 

Otro ejemplo; cuando un usuario quiere maximizar una ventana Windows, lo  que hace simplemente es pulsar el botón de la misma que realiza esa acción. Eso, provoca que Windows envíe un mensaje a la ventana para indicar que tiene que maximizarse. Como respuesta a este mensaje se ejecutara el método programado para ese fin.

 


Métodos

 

Un método se implementa en una clase de objetos y determina como tiene que actuar el objeto cuando recibe un mensaje. En adición, las propiedades permitirán almacenar información para dicho objeto. Un método puede también enviar mensajes a otros objetos solicitando una acción o información.

 

La estructura más interna de un objeto esta oculta para otros usuarios y la única conexión que tiene con el exterior son los mensajes. Los datos que están dentro de un objeto solamente pueden ser manipulados por los métodos asociados al propio objeto.

 

 

 

 

 

 

 


La ejecución de un programa orientado a objetos realiza fundamentalmente tres cosas.

 

1.- Crea los objetos necesarios.

2.- Los mensajes enviados a unos y otros objetos dan lugar a que se procese internamente la información.

3.- Finalmente, cuando los objetos no son necesarios, son borrados, liberándose la memoria ocupada por los mismos.

 

 

Clases

 

Una clase es un tipo de objeto definido por el usuario. Una clase  equivale a la generalización de un tipo específico de objetos. Por ejemplo, piense en un molde para hacer flanes; el molde es la clase y los flanes los objetos.

 

Un objeto de una determinada clase se crea en el momento en que se declare una variable de dicha clase. Por ejemplo:

 

Private MiTexto  As TextBox                        ‘declara MiTexto de la clase TextBox

Set MiTexto = Text2                         ‘asigna a MiTexto  el objeto Text2

 

Para enfocar la caja de   texto MiTexto de una determinada ventana, esto es, poner el cursor sobre ella, le enviaremos el mensaje correspondiente; el Visual Basic, esto se hace invocando el método SetFocus así:

 

MiTexto.SetFocus                  ‘enfocar el objeto referenciado por Mitexto

 

Características de la POO

 

Las características fundamentales de la POO son: abstracción, encapsulamiento, herencia y poliformismo.

 

 

Abstracción

 

Por medio de la abstracción conseguimos no detenernos en los detalles concretos de las cosas que no interesen en cada momento, sino generalizar y centrarse en los aspectos que permitan tener una visión global del tema. Por ejemplo, el estudio de un ordenador podemos realizarlo a nivel de funcionamiento de sus circuitos electrónicos, en términos de corriente, tensión, etc., o a nivel de transferencias entre registros, centrándose así el estudio en el flujo de información entre las unidades que lo componen (memoria, unidad aritmética, unidad de control, registros, etc.), sin importarnos el comportamiento de los circuitos electrónicos que componen estas unidades.

 

 

Encapsulamiento

 

Esta característica permite ver un objeto como una caja negra en la que se ha metido de alguna manera toda la información relacionada con dicho objeto. Esto nos permitirá manipular los objetos como unidades básicas, permaneciendo oculta su estructura interna.

 

 

Herencia

 

La herencia  es el mecanismo para compartir automáticamente métodos y datos entre clases y subclases de objetos. El usuario de Visual Basic no dispone de esta característica.

 

 

Polimorfismo

 

Esta característica permite implementar múltiples formas de un mismo método, dependiendo cada una de ellas de la clase sobre la que se realice la implementación. Esto hace que se pueda acceder a una variedad de métodos distintos (todos con el mismo nombre) utilizando exactamente el mismo medio de acceso.