Diseño orientado a objetos

Las caracteristicas de la programación orientada a objetos (POO) son:  encapsulamiento, herencia, polimorfismo, abstracción e identidad.

Entre las premisas para un buen diseño orientado a objetos se encuentra la reutilización. Sin embargo, ¿que caracteristica de la POO es la que más favorece la reutilización? ¿ la herencia, el polimorfismo o el encapsulamiento?

Varios debates se podrían montar entorno a esta cuestión, defendiendo diferentes posturas a favor o en contra
de unos y otros.

Por un lado, la herencia permite la reutilización de unas clases para la creación de otras clases hijas. Las clases hijas así se aprovecharian de las propiedades y metodos existentes en la clase padre.

Sin embargo, el polimorfismo da mas juego, pues permitiría que cada metodo de cada clase hija reaccionara de una forma distinta
y de forma transparente para el resto de clases. Esto es, puedes diseñar una clase para que interactue con cualquier tipo de clase sin cambiarla,  es reutilizable sin cambios para otras clases. Por ejemplo, el método pintar que pinta cualquier forma geométrica, ese metodo puede ser reutilizado por multiples clases que abstraigan diferentes formas geométricas.

Si entedemos reutilización por aprovechar código ya hecho a modo de “cajas negras” en las que cada caja/módulo tiene bien definido sus puntos de entrada y de salida sin importarnos la implementación concreta de las funciones invocadas, podría considerarse el encapsulamiento como una característica importante para la reutilización. 

El debate está abierto.

🙂

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: