Я пытаюсь погрузиться в Ruby, и одна вещь, с которой я борюсь, - это отсутствие поддержки интерфейса / абстрактного класса. Находясь в Google, я постоянно вижу ответ на вопросы Ruby, относящиеся к абстрактным классам: «Вы думаете на Java. Ruby не работает таким образом»
Итак, как можно было бы работать в Ruby без интерфейсов / абстрактных классов?
Например, в Java я мог бы создать абстрактный класс «книга» с подклассами «роман», «учебник» и «журнал». Есть много общих функций, которые я добавляю в «книгу», но я не хочу, чтобы она была доступна напрямую - книга должна быть либо романом, либо учебником, либо журналом.
В рубине, как мне написать такую функциональность?