остальное в имплисите в companion object'е
2. Все в одном классе.
Например, есть класс, реализующий fluent interface. В нем есть метод, принимающий какой-то аргумент типа T. Это - "необходимый минимум".
"Утилитный" метод - это, например, метод с таким же именем, но принимающий Option[T]. Если Some - то делегирует основному, а если None, то возвращает this
нужно смотреть на абстракцию, которую ты в этом классе реализуешь. если она подразумевает наличие этого метода, тогда внутри класса. если не подразумевает, то либо в компаньоне, либо в том неймспейсе, где метод используется (если он местячковый)
Обсуждают сегодня