domingo, 15 de julio de 2018

El Modelo Orientado a Objetos

El Modelo Orientado a Objetos

El Modelo de Datos Orientado a Objetos (OODM) es la base del Modelo de Base de Datos Orientada a Objetos (OODBM) y el cual es manejado por un Sistema de Administración de Bases de Datos Orientado a Objetos (OODBMS). Aunque todos los autores coinciden en considerar como idea fundamental del paradigma orientado a objetos la integración de datos y procesos, no existe un modelo estándar como en el caso del modelo relacional.

 En la orientación a objetos, un sistema se concibe como un conjunto de objetos que se comunican entre sí mediante mensajes. Tradicionalmente los datos y procedimientos  se almacenan por separado, los datos y sus relaciones en la Base de Datos, y los procedimientos en los programas de aplicación; la orientación a objetos, sin embargo, combina procedimientos de una entidad con sus datos, es decir,  el comportamiento es parte de la entidad en sí, por lo que en cualquier lugar en que se utilice, se comporta de un modo predecible y conocido.


Para entender este modelo vamos a revisar 4 conceptos básicos:

Objeto:

Es una entidad que almacena atributos, variables o propiedades; que pueden realizar acciones, que se denominan métodos, servicios, funciones, procedimientos u operaciones.

Los objetos son las entidades básicas en tiempo de ejecución en un sistema orientado a objetos. El problema de programación se analiza en términos de los objetos y la naturaleza de la comunicación entre ellos. Cuando se ejecuta un programa, los objetos interactúan entre sí enviando mensajes. Los diferentes objetos también pueden interactuar entre sí sin conocer los detalles de sus datos o códigos.
Un objeto es una instancia de una clase. Una clase debe ser instanciada en un objeto antes de que pueda ser utilizada en el software. Más de una instancia de la misma clase puede existir en cualquier momento.



Los objetos solo dan información sobre sí mismos a través de los métodos que poseen para compartir su información; y aunque ocultan la implementación de sus procedimientos se les puede pedir que los ejecuten. De esta manera, tanto usuarios como aplicaciones no pueden ver que hay dentro de los métodos, solo pueden ver los resultados de ejecutarlos, lo que también se conoce como ocultación de información o encapsulamiento. Para pedir datos a un objeto o que éste realice una acción, se le debe enviar un mensaje.

Es decir, un programa orientado a objetos es un conjunto de objetos que tienen atributos y métodos y que interactúan entre si enviándose mensajes.

Clases:

Una clase es simplemente una representación de un tipo de objeto. Es el plan, o plan, o plantilla, que describe los detalles de un objeto. Una clase es el plano a partir del cual se crean los objetos individuales. La clase se compone de tres cosas: un nombre, atributos y operaciones.


Una clase es una colección de objetos de un tipo similar. Una vez que se define una clase, se puede crear cualquier cantidad de objetos que pertenezcan a esa clase. Una clase es un plano, o prototipo, que define las variables y los métodos comunes a todos los objetos de cierto tipo.

Herencia:

Es la cualidad de poder crear nuevas clases (o tipos) basadas en otras clases, de forma que la nueva clase obtenga todas las características de la clase que ha heredado, tanto los datos que contiene como la forma de manipularlos, pudiendo añadir nuevas características e incluso cambiar el comportamiento de algunas de las incluidas en la clase base (siempre que así se haya previsto). 



Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.

Paso de 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.



No hay comentarios.:

Publicar un comentario