jueves, 25 de febrero de 2016



1.1 ELEMENTOS DEL MODELO DE OBJETOS CLASES, OBJETOS, ABSTRACCIÓN, MODULADOR, ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO.

CLASES
Clase a la declaración o abstracción de un objeto cuando se programa según el paradigma de orientación a objetos.  Son los datos y operaciones comunes a un conjunto de objetos que comparten características.
Por ejemplo, nuestro teléfono celular es sólo uno de los miles que hay en el mundo. Si hablamos en términos de la programación orientada a objetos, podemos decir que nuestro objeto celular es una instancia de una clase conocida como "celular".
Los celulares tienen características (marca, modelo, sistema operativo, pantalla, teclado, etc.) y COMPORTAMIENTOS (hacer y recibir llamadas, enviar mensajes multimedia, transmisión de datos, etc.).

OBJETOS
Entidad compuesta de datos y operaciones que realizan sobre esos datos. Mantienen unas características en una o más variables e implementan su comportamiento con métodos. Es un programa de computadora que consta de un estado y de un comportamiento, que a su vez constan respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecución. Un objeto puede ser creado instanciando una clase, como ocurre en la programación orientada a objetos, o mediante escritura directa de código y la replicación otros objetos, como ocurre en la programación basada en prototipos.
Todo el programa está construido en base a diferentes componentes (Objetos), cada uno tiene un rol específico en el programa y todos los componentes pueden comunicarse entre ellos de formas predefinidas.
Todo objeto del mundo real tiene 2 componentes: características y comportamiento.
Por ejemplo, los automóviles tienen características (marca, modelo, color, velocidad máxima, etc.) y comportamiento (frenar, acelerar, retroceder, llenar combustible, cambiar llantas, etc.).


ABSTRACCIÓN
Consiste en captar las características esenciales de un objeto, así como sus comportamientos, es decir, es un método por el cual obtenemos una determinada entidad de la realidad; sus características y funciones que desempeñan, estos son representados en clases por medios de atributos y métodos de dicha clase.
La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (Característica de caja negra).
Por ejemplo, volvamos al ejemplo de los automóviles, ¿Qué características podemos abstraer de los automóviles? O lo que es lo mismo ¿Qué características semejantes tienen todos los automóviles? Todos tendrán una marca, un modelo, número de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán acelerar, frenar, retroceder, etc.
En los lenguajes de programación orientada a objetos, el concepto de Clase es la representación y el mecanismo por el cual se gestionan las abstracciones.
Por ejemplo:
public class Automovil {
// variables
// Métodos
}

MODULARIDAD
Es la propiedad que tiene un sistema que ha sido descompuesto en un conjunto de módulos cohesivos y vagamente convexos, cada módulo se puede compilar separadamente aunque tenga conexiones con otros módulos.
En un diseño estructural, modularizacion comprende el agrupamiento significado de subprogramas en diseño orientado a objetos, la modularidad debe ceñirse a la estructura lógica elegida en el proceso de diseño.
Dividir un programa en componentes individualizados reduce en alguna manera su complejidad; C++ separa los módulos interface de los módulos con implementación.
Mediante la modularidad, se propone al programador dividir su aplicación en varios módulos diferentes (ya sea en forma de clases, paquetes o bibliotecas), cada uno de ellos con un sentido propio. Esta fragmentación disminuye el grado de dificultad del problema al que da respuesta el programa, pues se afronta el problema como un conjunto de problemas de menor dificultad, además de facilitar la comprensión del programa.

ENCAPSULAMIENTO
Es el ocultamiento de información que no es necesario saber un determinado usuario, la utilidad del encapsulamiento va por la facilidad para manejar la complejidad, donde solo se conoce el comportamiento pero no los detalles internos, aquí lo que interesa es ¿Qué hace la clase? Pero no el ¿Cómo lo hace?
Se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembros de un objeto de manera que sólo se pueda cambiar mediante las operaciones definidas para ese objeto.
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 que veremos a continuació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
Una herencia puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada es llamada súper clase 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. Por ejemplo, imaginemos que estamos haciendo el análisis de un Sistema para una tienda que vende y repara equipos celulares.

POLIMORFISMO
Se basa en utilizar varios métodos con el mismo nombre y con diferente funcionalidad, un objeto polimorfismo es una entidad que puede contener valores de diferentes tipos durante la ejecución de un programa.
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
El polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. 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.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las obvias diferencias sintácticas.
Por ejemplo, en un lenguaje de programación que cuenta con un sistema de tipos dinámico (en los que las variables pueden contener datos de cualquier tipo u objetos de cualquier clase) como Smalltalk no se requiere que los objetos que se utilizan de modo polimórfico sean parte de una jerarquía de clases.



FUENTES BIBLIOGRÁFICAS


No hay comentarios:

Publicar un comentario