Wiem, że w rubinie nie ma pojęcia klasy abstrakcyjnej. Ale jeśli w ogóle trzeba to wdrożyć, jak się do tego zabrać? Próbowałem czegoś takiego ...
class A
def self.new
raise 'Doh! You are trying to write Java in Ruby!'
end
end
class B < A
...
...
end
Ale kiedy próbuję utworzyć wystąpienie B, wewnętrznie wywoła to wywołanie, A.new
które spowoduje zgłoszenie wyjątku.
Ponadto nie można tworzyć instancji modułów, ale nie można ich również dziedziczyć. ustawienie nowej metody jako prywatnej również nie zadziała. Jakieś wskazówki?
raise "Doh! You are trying to write Java in Ruby"
.