ГоловнаВсі публікаціїКатегоріїПро проєкт

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

Зміст дописунатисність на посилання, щоб перейти до потрібного місця
Поліморфізм - це принцип об'єктно-орієнтованого програмування, який дозволяє об'єктам одного класу використовувати методи іншого класу. Це може бути досягнуто через спеціальні механізми, такі як перевизначення методів або інтерфейси.
У 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.
29.11.2023 08:47

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

meme code
meme code@memecode
07.12.2023 07:42

Що таке інкапсуляція (encapsulation) в ООП?

meme code
meme code@memecode
07.12.2023 08:13

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

meme code
meme code@memecode
07.12.2023 08:25

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

meme code
meme code@memecode
09.12.2023 12:00

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

meme code
meme code@memecode
09.12.2023 12:15

Що таке best practice у програмуванні?

meme code
meme code@memecode
09.12.2023 12:46

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

meme code
meme code@memecode
10.12.2023 14:03

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

meme code
meme code@memecode
10.12.2023 14:18

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

meme code
meme code@memecode
18.12.2023 08:25

Що таке DNS? Для чого потрібна DNS?

meme code
meme code@memecode
18.12.2023 08:44

Що таке домен (доменне ім'я / domain name)?

meme code
meme code@memecode
19.12.2023 18:15

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

meme code
meme code@memecode