Я застрял здесь, потому что я беспокоюсь о том, лучше ли использовать метод класса дочернего класса из родительского класса?Вызов метода подкласса из суперкласса - шаблон проектирования
module Zoo
class Animals
class << self
def update
if self.whatever == ... # Calls method 'whatever' from Tiger class
# do sth.
end
end
end
end
class Tiger < Animals
def update
super
end
class << self
def whatever
"whatever from tiger class"
end
end
end
end
Zoo::Tiger.update
Это работает, но я был бы признателен за лучшее решение этой проблемы. Я хочу как можно больше следовать лучшим решениям в отличие от некоторых пользовательских хаков.
Заранее благодарен!
Ваш метод 'update' в' Tiger' никогда не вызывается. Класс singleton класса Tiger наследует метод, определенный в одиночном классе «Животные». – Max