Polymorphism

Полиморфизм - это способность объектов разных классов иметь методы с одинаковыми именами, которые ведут себя по-разному, позволяя использовать единый интерфейс для различных типов данных. Это достигается за счет динамической типизации и переопределения методов, что делает код гибким, читаемым и удобным для расширения. Подклассы могут переопределять методы родительского класса.

class Dog
def speak
puts "Гав!"
end
end

class Cat
def speak
"Мяу!"
end
end

Dog.new.speak
# => Гав!

Cat.new.speak
# => Мяу!