Polimorfizm - to zasada
programowania obiektowego, która pozwala obiektom jednej klasy korzystać z metod innej klasy. Można to osiągnąć za pomocą specjalnych mechanizmów, takich jak nadpisywanie metod lub interfejsy.
W Ruby polimorfizm można stworzyć poprzez użycie wspólnej nazwy metody dla różnych klas.
Przykład użycia polimorfizmu w Ruby
# Tworzenie klasy Shape z metodą draw
class Shape
def draw
raise NotImplementedError, 'Podklasy muszą zaimplementować metodę draw'
end
end
# Tworzenie klasy Circle, która dziedziczy po Shape
class Circle < Shape
def draw
puts 'Rysowanie okręgu'
end
end
# Tworzenie klasy Rectangle, która również dziedziczy po Shape
class Rectangle < Shape
def draw
puts 'Rysowanie prostokąta'
end
end
# Użycie polimorfizmu
circle = Circle.new
rectangle = Rectangle.new
# Wywołanie metody draw dla okręgu
circle.draw
# Wywołanie metody draw dla prostokąta
rectangle.draw
W tym przykładzie obie klasy
Circle i
Rectangle dziedziczą po klasie bazowej
Shape i implementują metodę
draw. Przy wywołaniu metody
draw dla obiektów klas
Circle i
Rectangle, wywoływane są odpowiednie implementacje metody, co wyraża polimorfizm. Również warto przeczytać o
dziedziczeniu w ruby.