Я определяю класс Scala сегодня, и я думаю: "Мне нужен метод equals
и метод hashCode
, и метод copy
был бы удобен. Я превращу это в класс случая". У моего класса уже есть куча другого кода, и он никоим образом не является тривиальным.
Так хорошо, все работает и все, но когда текстовые книги занимаются классами case, все примеры определяют их для использования в качестве классов значений или "объектов передачи данных". Уместно ли определить нетривиальный класс case? Описан ли описанный выше процесс ОК, или мне нужно думать о классах case по-разному?