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