Programación en Amiga
Página central

Conceptos básicos de
Programación Orientada a Objetos:


Objeto:

Se trata de un ente abstracto usado en programación que permite separar los diferentes componentes de un programa, simplificando así su elaboración, depuración y posteriores mejoras.
Los objetos integran, a diferencia de los métodos procedurales, tanto los procedimientos como las variables y datos referentes al objeto.
A los objetos se les otorga ciertas características en la vida real. Cada parte del programa que se desea realizar es tratado como objeto, siendo así estas partes independientes las unas de las otras.Los objetos se componen de 3 partes fundamentales: metodos, eventos y atributos.

Métodos:

Son aquellas funciones que permite efectuar el objeto y que nos rinden algún tipo de servicio durante el transcurso del programa.
Determinan a su vez como va a responder el objeto cuando recibe un mensaje.

Eventos:

Son aquellas acciones mediante las cuales el objeto reconoce que se está interactuando con él.
De esta forma el objeto se activa y responde al evento según lo programado en su código.

Atributos:

Características que aplican al objeto solo en el caso en que el sea visible en pantalla por el usuario; entonces sus atributos son el aspecto que refleja, tanto en color, tamaño, posición, si está o no habilitado.

Ejemplo de objeto: un coche.

Se considera un coche un objeto, totalmente diferenciado del alquitrán donde está aparcado.
Sus atributos son su color, marca, modelo, número de matrícula, número de puertas,...
Sus eventos todos aquellas acciones por las cuales si el coche tuviera vida propia reconocería que le estamos dando un uso, como abrir la puerta, girar el volante, embragar, abrir el capot, ....
Los métodos son todo aquello que nos ofrece el coche como hacer sonar una bocina cuando tocamos el claxon (evento), llevarnos por la carretera, reducir la velocidad al pisar el freno (evento), ...

Mensajes:

Aunque los objetos se han de diferenciar claramente en una aplicación, estos se han de poder comunicar para poder trabajar en conjunto y construir así aplicaciones.
Esto se hace posible a través de lo que se denomina paso de mensajes. Cuando un objeto quiere comunicarse con otro lo que hace es enviarle un mensaje con los datos que desea transmitir.
En el simil del coche, al apretar el claxon, el objeto claxon envía un mensaje a la bocina indicándole que haga sonar cierto sonido.
La potencia de este sistema radica en que el objeto emisor no necesita saber la forma en que el objeto receptor va a realizar la acción. Simplemente este la ejecuta y el emisor se desentiende del como; de hecho ni le importa, solo tiene conocimiento de que se está realizando.
Para que todo esto sea posible es necesario una buena programación de los eventos y de los métodos de cada objeto.
El conjunto de mensajes a los que un objeto puede responder se denomina protocolo del objeto.

Instancia:

Se llama instancia a todo objeto que derive de algún otro. De esta forma, todos los objetos son instancias de algún otro, menos la clase Object que es la madre de todas.

Clases: Descripción de de objeto. Consta de una serie de métodos y datos que resumen las características de este objeto. Definir clases permite trabajar con código reutilizable. Puesto que desde una clase se puede crear una instancia y así reutilizar el código escrito para esta si tener que volver a escribir el código para la instancia. La instancia toma el patrón de la clase padre. Sin embargo, las variables son idependientes.

Herencia:

Mecanismo para compartir automáticamente métodos y datos entre classes, subclases y objetos.
Permite crear nuevas clases introduciendo las variaciones con respecto a su clase padre.
Herencia simple: una subclase puede herecar datos y métodos de una clase simple así como añadir o sustraer ciertos comportamientos.
Herencia múltiple:posibilidad de adquirir métodos y datos de varias clases simultáneamente.

Encapsulación:

Define el comportamiento de una clase u objeto que tiene dentro de él todo tipo de métodos y datos pero que solo es accesible mediante el paso de mensajes. y los datos a través de los métodos del objeto/clase.

Polimorfismo:

Los objetos responden a los mensajes que se les envían. Un mismo mensaje puede ser interpretado o dar paso a distintas acciones según que objeto es el destinatario.
Con este sistema el emisor se desentiende de los detalles de la ejecución (aunque el programador ha de saber en todo momento cuales son las consecuencias de ese mensaje).

Tiempo real durante el cual el objeto existe en memoria:

Los objetos se crean a medida que estos son requeridos (en vez de todos a la vez, con la consiguiente pérdida de memoria) y se eliminan de la misma forma.

Persistencia:

Abstracción:

Ligadura dinámica:

Blob:

Binary Large OBject. tipo de dato util para almacenar grandes datos. Se suelen usar mucho en bases de datos OO.