Почему в Ruby нет абстрактного класса? Может кто знает? И действительно ли хорош такой способ эмулировать абстрактный класс?class AbstractEmulate
def requiredMethod
#abort() or throw Exception here
end
def requiredMethodTwo
abort("Please define #{__method__.to_s}")
end
end
соотвественно после наследования если class MyClass < AbstracEmulate , если не определим методы , то получим ошибки. Кто нибудь так делает?

21 Авг 2019 в 07:09
241 +1
0
Ответы
1

В Ruby нет встроенной концепции абстрактного класса, потому что Ruby - это динамически типизированный язык, который поддерживает полиморфизм и динамическое связывание. Однако, можно эмулировать абстрактный класс, как вы показали в вашем примере, используя методы, которые вызывают ошибку, если их не переопределяют в дочерних классах.

Этот способ эмуляции абстрактного класса может быть полезен в определенных случаях, если вам необходимо обязательное наличие определенных методов в дочерних классах. Однако, это не является общепринятой практикой в Ruby, и многие разработчики предпочитают использовать другие подходы, например, использование модулей и миксинов.

Итак, если вам необходима возможность создания абстрактного класса в Ruby, то вы можете использовать подобный подход, который вы показали.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир