Sé que no existe el concepto de clase abstracta en ruby. Pero si es necesario implementarlo, ¿cómo hacerlo? He intentado algo así como ...¿Cómo implementar una clase abstracta en ruby?
class A
def self.new
raise 'Doh! You are trying to write Java in Ruby!'
end
end
class B < A
...
...
end
Pero cuando intento crear una instancia de B, que es internamente iba a llamar A.new
que se va a levantar la excepción.
Además, los módulos no se pueden crear instancias pero tampoco se pueden heredar. hacer que el nuevo método sea privado tampoco funcionará. ¿Alguna sugerencia?
Los módulos se pueden mezclar, ¿pero supongo que necesitas herencia clásica por algún otro motivo? – Zach
No es que necesite una clase abstracta. Me preguntaba cómo hacerlo, si es que uno tiene que hacerlo. Un problema de programación. Eso es. – Chirantan
'raise" Doh! Estás tratando de escribir Java en Ruby "'. –