domingo, 25 de noviembre de 2012

Conceptos básicos del modelo orientado a objetos



CONCEPTOS BÁSICOS DEL MODELO ORIENTADO A OBJETOS.


Modelo orientado a objetos.

El modelo orientado a objetos sirve para desarrollar sistemas de software con un alto grado de complejidad. Este modelo es tan importante que se creó el OMG (Object Management Group, Grupo de Administración de Objetos, una agrupación no lucrativa) para establecer las normas que rigen el desarrollo de software orientado a objetos.

Objetos.
Los objetos, concretos y abstractos, están a nuestro alrededor, forman nuestro entorno. Podemos distinguir cada objeto en base a sus características y comportamientos. Por ejemplo, en el aula observamos los objetos:
    • alumno
    • profesor
    • mesa
    • silla
    • mesa  banco
    • pizarrón

Abstracción.
La abstracción es una de las principales herramientas con que combatimos la complejidad.
Una abstracción denota las características esenciales de un objeto y proporciona límites conceptuales definidos respecto a la perspectiva del observador.

En el modelo de objetos se persigue construir abstracciones que imiten directamente el vocabulario de un determinado dominio de problema, por lo que el problema central del diseño orientado a objetos es tomar la decisión acerca del conjunto adecuado de abstracciones para ese dominio.

Comportamiento.
Los objetos no solamente poseen atributos, sino que también exhiben comportamientos que manifiestan al interactuar con otros objetos
en un esquema cliente/servidor, donde un cliente es cualquier objeto que utiliza los recursos de otro objeto denominado servidor.

Encapsulamiento.
El encapsulamiento es el proceso de almacenar en un mismo compartimento los elementos de una abstracción que constituyen su estructura y su comportamiento; sirve para separar la interfaz contractual de una abstracción y su implementación.

El encapsulamiento se consigue, a menudo, mediante la ocultación de información. Generalmente, la estructura de un objeto está oculta, así como la implementación de sus métodos.

Modularidad.
La modularidad es la descomposición de un sistema en un conjunto de módulos cohesivos y débilmente acoplados.

La descomposición de un sistema en componentes individuales ayuda a manejar la complejidad. Sin embargo, una descomposición desordenada puede producir un efecto contrario que se puede contrarrestar reagrupando los componentes en módulos o paquetes. Cada módulo debe contener componentes con características afines, de tal manera que faciliten la producción de la arquitectura física de un sistema.

Jerarquía.
La jerarquía es una clasificación u ordenación de abstracciones.
La estructura de clases se representa por medio de una jerarquía que muestra la relación de herencia es un.

Clase.
En las etapas de análisis y diseño, una clase es un conjunto de objetos que comparten características y comportamientos comunes entre sí.

Herencia.
La herencia define la relación entre clases es un, donde una subclase hereda de una o más superclases.

La herencia implica una jerarquía de generalización/especialización, en la que una subclase especializa el comportamiento y/o la estructura, mas general, de sus superclases.

Herencia simple.
La herencia simple se da cuando, en una jerarquía de clases, las subclases solamente pueden heredar de una superclase.

Herencia múltiple.
A diferencia de la herencia simple, en la herencia múltiple las subclases pueden heredar de más de una superclase.

Polimorfismo.
La palabra polimorfismo tiene como origen las palabras griegas poli (muchos) y morfos (formas) y se utiliza para indicar que un nombre puede denotar instancias (objetos) de clases diferentes que están relacionadas por alguna superclase común.

El polimorfismo puede considerarse como la característica más potente de los lenguajes orientados a objetos, después de su capacidad para soportar la abstracción.

Existe polimorfismo cuando interactúan las características de herencia y enlace dinámico.

Enlace estático y enlace dinámico
El enlace estático (denominado también enlace temprano) consiste en la asignación estática de tipos a todas las variables y expresiones, en tiempo de compilación.
El enlace dinámico (denominado también enlace tardío) consiste en asignar, en tiempo de ejecución, los tipos a las variables y expresiones.


Vean estas diapositivas, estan buenas: http://www.slideshare.net/jose_rob/modelo-orientado-a-objetos

No hay comentarios:

Publicar un comentario