Existe un acuerdo acerca de qué características
contempla la "orientación a objetos". Las características siguientes
son las más importantes:
Ya que es la
representación de los objetos lleva implica tanto el análisis como el diseño y
la codificación de los mismos.
Comprensión
Tanto los datos
que componen los objetos, como los procedimientos que los manipulan, están
agrupados en clases, que se corresponden con las estructuras de información que
el programa trata.
Flexibilidad
Al tener relacionados los procedimientos que manipulan
los datos con los datos a tratar, cualquier cambio que se realice sobre ellos
quedará reflejado automáticamente en cualquier lugar donde estos datos
aparezcan.
Estabilidad
Dado que permite
un tratamiento diferenciado de aquellos objetos que permanecen constantes en el
tiempo sobre aquellos que cambian con frecuencia permite aislar las partes del
programa que permanecen inalterables en el tiempo.
Abstracción
Denota las características esenciales de un objeto, donde se capturan
sus comportamientos. Cada objeto en el sistema sirve como modelo de un
"agente" abstracto que puede realizar trabajo, informar y cambiar su
estado, y "comunicarse" con otros objetos en el sistema sin
revelar cómo se implementan estas características. Los
procesos, las funciones o los métodos pueden también ser abstraídos, y, cuando
lo están, una variedad de técnicas son requeridas para ampliar una abstracción.
El proceso de abstracción permite seleccionar las características relevantes
dentro de un conjunto e identificar comportamientos comunes para definir nuevos
tipos de entidades en el mundo real. La abstracción es clave en el proceso de
análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a
armar un conjunto de clases que permitan modelar la realidad o el problema que
se quiere atacar.
Modularidad
Se denomina modularidad a la propiedad que permite subdividir una
aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales
debe ser tan independiente como sea posible de la aplicación en sí y de las
restantes partes. Estos módulos se pueden compilar por separado, pero tienen
conexiones con otros módulos. Al igual que la encapsulación, los lenguajes
soportan la modularidad de diversas formas.
Principio de ocultación
Cada objeto está aislado del exterior, es un módulo natural, y cada tipo
de objeto expone una interfaz a otros objetos que especifica
cómo pueden interactuar con los objetos de la clase. El aislamiento protege a
las propiedades de un objeto contra su modificación por quien no tenga derecho
a acceder a ellas; solamente los propios métodos internos del objeto pueden
acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado
interno de un objeto de manera inesperada, eliminando efectos secundarios e
interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un
acceso directo a los datos internos del objeto de una manera controlada y
limitando el grado de abstracción. La aplicación entera se reduce a un agregado
o rompecabezas de objetos.
Recolección de basura
La recolección de basura o garbage collector es la
técnica por la cual el entorno de objetos se encarga de destruir
automáticamente, y por tanto desvincular la memoria asociada, los objetos que
hayan quedado sin ninguna referencia a ellos. Esto significa que el programador
no debe preocuparse por la asignación o liberación de memoria, ya que el
entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté
usando. En la mayoría de los lenguajes híbridos que se extendieron para
soportar el Paradigma de Programación Orientada a Objetos como C++ u Object Pascal, esta característica
no existe y la memoria debe desasignarse expresamente.
Para obtener la informacion completa visita nuestras Fuentes Electrónicas consultadas:
No hay comentarios.:
Publicar un comentario