All original content is created in Ukrainian. Not all content has been translated yet. Some posts may only be available in Ukrainian.Learn more

Що таке поліморфізм? Приклад використання поліморфізму в Ruby.

Table of contentsClick link to navigate to the desired location
This content has not been translated yet.We're showing the original Ukrainian content below.
Поліморфізм - це принцип об'єктно-орієнтованого програмування, який дозволяє об'єктам одного класу використовувати методи іншого класу. Це може бути досягнуто через спеціальні механізми, такі як перевизначення методів або інтерфейси.
У Ruby поліморфізм можна створити через використання спільного ім'я методу для різних класів.

Приклад використання поліморфізму в Ruby

# Створення класу Shape з методом draw
class Shape
  def draw
    raise NotImplementedError, 'Subclasses must implement the draw method'
  end
end

# Створення класу Circle, який успадковує від Shape
class Circle < Shape
  def draw
    puts 'Drawing a circle'
  end
end

# Створення класу Rectangle, який також успадковує від Shape
class Rectangle < Shape
  def draw
    puts 'Drawing a rectangle'
  end
end

# Використання поліморфізму
circle = Circle.new
rectangle = Rectangle.new

# Виклик методу draw для кола
circle.draw

# Виклик методу draw для прямокутника
rectangle.draw
У цьому прикладі обидва класи Circle і Rectangle успадковують від базового класу Shape і реалізують метод draw. При виклику методу draw для об'єктів класів Circle та Rectangle, викликаються відповідні реалізації методу, що виражає поліморфізм. Також буде корисним прочитати про наслідування в ruby.

This post doesn't have any additions from the author yet.

29 Nov 08:47

Чим відрізняється var від let в Javascript?

meme code
meme code@memecode
07 Dec 07:42

What is encapsulation in OOP?

meme code
meme code@memecode
07 Dec 08:13

Контроль видимості в Ruby (public, private і protected)

meme code
meme code@memecode
07 Dec 08:25

Що таке ООП (об'єктно-орієнтоване програмування)?

meme code
meme code@memecode
09 Dec 12:00

Що таке наслідування в Ruby? Приклади поганого та гарного наслідування.

meme code
meme code@memecode
09 Dec 12:15

What is best practice in programming?

meme code
meme code@memecode
09 Dec 12:46

Що таке патерн/шаблон проєктування?

meme code
meme code@memecode
10 Dec 14:03

Що таке патерн проєктування в програмуванні?

meme code
meme code@memecode
10 Dec 14:18

Що таке клієнт і сервер? Яка механіка взаємодії між клієнтом та сервером?

meme code
meme code@memecode
18 Dec 08:25

What is DNS? Why do you need DNS?

meme code
meme code@memecode
18 Dec 08:44

What is a domain (domain name/domain name)?

meme code
meme code@memecode
19 Dec 18:15

Що таке SSL та TLS? В чому полягає різниця?

meme code
meme code@memecode