Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Definiciones
Definiciones
Abstraccin:
En el sentido ms general, una abstraccin es una representacin concisa de una idea o de
un objeto complicado. En un sentido ms especifico, la abstraccin localiza y oculta los
detalles de un modelo o diseo para generar y manipular objetos. Una abstraccin tiene un
significado ms general que la encapsulacin, pudiendo hablar de abstraccin de datos en
lugar de encapsulacin de datos.
Como resumen de los 3 conceptos expuestos anteriormente podemos decir que:
1) Los objetos son encapsulaciones de abstracciones en la POO.
2) La unidad de encapsulacin en la POO es el objeto.
Una clase es un tipo: Un objeto es una instancia de ese tipo. Adems, la clase es un concepto
esttico: una clase es un elemento reconocible en el texto del programa.
Un objeto es un concepto puramente dinmico, el cual pertenece, no al texto del programa,
sino a la memoria de la computadora, donde los objetos ocupan un espacio en tiempo de
ejecucin una vez que haya sido creado.
Cohesin:
La cohesin tiene que ver con la forma en la que agrupamos unidades de software en una
unidad mayor. Por ejemplo, la forma en la que agrupamos funciones en una librera, o la
forma en la que agrupamos mtodos en una clase, o la forma en la que agrupamos clases en
una librera, etc...
Se suele decir que cuanto ms cohesionados estn los elementos agrupados, mejor. El
criterio por el cual se agrupan es la cohesin.
Veremos los distintos tipos de cohesin, de la que se considera mayor cohesin a la que se
considera menor.
Nuevamente, los nombres no son demasiado importantes, basta saber que a la hora de
decidir por qu criterio agrupar, unos suelen dar mejores resultados que otros desde el punto
de vista de la modularidad.
La cohesin no tiene tanto impacto sobre la modularidad como el acoplamiento. Es decir, un
gran acoplamiento puede ser muy malo a la hora de corregir errores, integrar partes, hacer
mantenimientos... Sin embargo, una cohesin baja puede ser incmoda, pero no suele
plantear grandes problemas. Aunque esto, no es motivo para descuidarla.
Herencia:
La herencia es especfica de la programacin orientada a objetos, donde una clase nueva se
crea a partir de una clase existente. La herencia (a la que habitualmente se denomina
subclases) proviene del hecho de que la subclase (la nueva clase creada) contiene las
atributos y mtodos de la clase primaria. La principal ventaja de la herencia es la capacidad
para definir atributos y mtodos nuevos para la subclase, que luego se aplican a los atributos
y mtodos heredados.
Esta particularidad permite crear una estructura jerrquica de clases cada vez ms
especializada. La gran ventaja es que uno ya no debe comenzar desde cero cuando desea
especializar una clase existente. Como resultado, se pueden adquirir bibliotecas de clases
que ofrecen una base que puede especializarse a voluntad (la compaa que vende estas
clases tiende a proteger las datos miembro usando la encapsulacin).
POLIMORFISMO:
En programacin orientada a objetos se denomina polimorfismo a la capacidad que tienen los
objetos de una clase de responder al mismo mensaje o evento en funcin de los parmetros
utilizados durante su invocacin. Un objeto polimrfico es una entidad que puede contener
valores de diferentes tipos durante la ejecucin del programa.