lunes, 11 de febrero de 2013

Modulos VS Herencia en Ruby

Como parte de mi iniciación en Ruby y viendo los conceptos básicos del lenguaje, llegué a la parte en el que se explica la herencia y otras alternativas como son los módulos.

La herencia en Ruby es simple, es decir, solo se puede heredar de una sola clase padre. Aquí no existen las interfaces y una manera de simular la herencia múltiple es a través de módulos.

Los módulos a demás de definir un name space (el alcance de la clases y métodos  , definen métodos y clases que pueden ser utilizados por otros módulos o clases para aumentar la funcionalidad ya sea a nivel de clase o a nivel de instancia. 


Otra vez, los módulos son para compartir comportamiento o agregar una característica genérica, mientras que la herencia es para crear relaciones entre objetos. 

Entonces la diferencia y la ventaja de utilizar módulos es que, se puede utilizar más de un módulo al mismo tiempo y en clases que no estén directamente relacionadas pero que si necesiten tener la misma funcionalidad.

A la facilidad de incluir un módulo y todos sus métodos dentro de una clase se le llama mixin.


No hay comentarios:

Publicar un comentario