Есть ли способ для Bar
наследовать от Foo
Вы правильно сделали эту часть
и переопределить test
?
Вам необходимо определить Bar.test
как метод класса, но вы написали определение метода экземпляра (и вызов).Попробуйте
class Bar < Foo
class << self
def test
super + ", man"
end
end
end
Bar.test
#=> "this is a test, man"
В Ruby не существует статического класса или метода, поэтому вызов метода экземпляра Bar.new.test
никогда не будет ссылаться на то же, что и вызов метода класса Bar.test
, так какв языках с концепцией статических методов.