Agregación
Vea su computadora: cuenta con un gabinete, un teclado, un ratón, un monitor, una unidad de CD-ROM, uno o varios discos duros, un módem, una unidad de disquete, una impresora y, posiblemente, bocinas. Dentro del gabinete, junto con las citadas unidades de disco, tiene una CPU, una tarjeta de vídeo, una de sonido y otros elementos sin los que, sin duda, difícilmente podría vivir.
Su computadora es una agregación o adición, otro tipo de asociación entre objetos. Como muchas otras cosas que valdrían la pena tener, su equipo está constituido de diversos tipos de componentes (vea la siguiente figura). Tal vez conozca varios ejemplos de agregaciones.
Una computadora es un ejemplo de agregación: un objeto que se cortforma de una combinación de diversos tipos de objetos.
Un tipo de agregación trae consigo una estrecha relación entre un objeto agregado y sus objetos componentes. A esto se le conoce como composición.
El punto central de la composición es que el componente se considera como tal sólo como parte del objeto compuesto. Por ejemplo: una camisa está compuesta de cuerpo, cuello, mangas, botones, ojales y puños. Suprima la camisa y el cuello será inútil.
En ocasiones, un objeto compuesto no tiene el mismo tiempo de vida que sus propios componentes. Las hojas de un árbol pueden morir antes que el árbol. Si destruye al árbol, también las hojas morirán (vea la siguiente figura).
La agregación y la composición son importantes dado que reflejan casos extremadamente comunes, y ello ayuda a que cree modelos que se asemejen considerablemente a la realidad.
En una composición, un componente puede morir antes que el objeto compuesto.
Si destruye al objeto compuesto, destruirá también a los componentes.
Los objetos y sus asociaciones conforman la columna vertebral de la funcionalidad de los sistemas. Para modelarlos, necesitará comprender lo que son las asociaciones.
Si está consciente de los posibles tipos de asociaciones, tendrá una amplia gama de posibilidades cuando hable con los clientes respecto a sus necesidades, obtendrá sus requerimientos y creará los modelos de los sistemas que los ayudarán a cumplir con sus retos de negocios.
Lo importante es utilizar los conceptos de la orientación a objetos para ayudarle a comprender el área de conocimiento de su cliente (su dominio), y esclarecer sus puntos de vista al cliente en términos que él o ella puedan comprender.
Es allí donde se aplica el UML. En las siguientes tres horas, aprenderá a aplicar el UML para visualizar los conceptos que ha aprendido durante esta hora.
Resumen
La orientación a objetos es un paradigma que depende de algunos principios fundamentales. Un objeto es una instancia de una clase. Una clase es una categoría genetica de objetos que tienen los mismos atributos y acciones. Cuando crea un objeto, el área del problema en que trabaje determinará cuantos de los atributos y acciones debe tomar en cuenta.
La herencia es un aspecto importante de la orientación a objetos, un objeto hereda los atributos y operaciones de su clase. Una clase también puede heredar atributos y acciones de otra.
El polimorfismo es otro aspecto importante, ya que especifica que una acción puede tener el mismo nombre en diferentes clases y cada clase ejecutará tal operación de forma distinta.
Los objetos ocultan su funcionalidad de otros objetos y del mundo exterior. Cada objeto presenta una interfaz para que otros objetos (y personas) puedan aprovechar su funcionalidad.
Los objetos funcionan en conjunto mediante el envío de mensajes entre ellos. Los mensajes son peticiones para realizar operaciones.
Por lo general, los objetos se asocian entre sí y esta asociación puede ser de diversos tipos. Un objeto en una clase puede asociarse con cualquier cantidad de objetos distintos en otra clase.
La agregación es un tipo de asociación. Un objeto agregado consta de un conjunto de objetos que lo componen y una composición es un tipo especial de agregación. En un objeto compuesto, los componentes sólo existen como parte del objeto compuesto.
Preguntas y respuestas
P: Usted dijo que la orientación a objetos ha tomado por asalto al mundo del software. ¿Qué no hay algunas aplicaciones importantes que no están orientadas a objetos?
R: Sí, y se conocen como sistemas “heredados” (programas que en muchos casos son ejecutados para mostrar su época). La orientación a objetos ofrece diversas ventajas, como la reusabilidad y un rápido periodo de desarrollo. Por tales razones, muy probablemente verá las nuevas aplicaciones (y las versiones rediseñadas de varias aplicaciones antiguas) escritas bajo el esquema de la orientación a objetos.
Taller
Para repasar lo que ha aprendido de la orientación a objetos, intente responder a algunas preguntas y realizar los siguientes ejercicios. Las respuestas las encontrará en el Apéndice A, “Respuestas a los cuestionarios”.
Cuestionario
l. ¿Qué es un objeto?
2. ¿Cómo trabajan los objetos en conjunto?
3. ¿Qué establece la multiplicidad?
4. ¿Pueden asociarse dos objetos entre sí en más de una manera?
Espero haber ayudado en algo. Hasta la próxima oportunidad!
No hay comentarios:
Publicar un comentario