Soy nuevo en Ruby. Un ejemplo sencillo, lo que necesito:Alternativas a clases abstractas en Ruby?
class Animal
abstract eat()
class Cat < Animal
eat():
implementation
class Dog < Animal
eat():
implementation
En otras palabras, el método de comer() debe ser requerido para todas las clases que se extienden animal.
En JAVA solo usaría una clase abstracta, pero después de hacer algunas investigaciones descubrí que muchas personas no lo usan en Ruby y en su lugar se recomiendan mixin/modules.
Sin embargo, no entiendo, si los módulos pueden hacer algo más que incluir un método de adición. Para ser exactos, ¿pueden los módulos establecer los requisitos de las clases que métodos deben implementar (si es así, se apreciaría un ejemplo)?
En resumen, ¿qué debería usar en este caso, cuando quiero estar seguro, que todas las clases del mismo tipo tienen métodos particulares y los implementan a su manera?
¿Cuál es la cita de 'NotImplementedError' y el tren de aterrizaje de los aviones? –