Я знаю, что Scala позволяет выводить из закрытого класса, если он помещен в тот же файл. Может быть есть специальная конструкция, а если нет, то имеет смысл, чтобы позволить что-то вроде этого:Запечатанный класс Scala «объем печати»
sealed[Derived/*, list of allowed to derive*/] class Base
class Derived extends Base
Этот синтаксис будет как «Степень защиты»:
class A{
private[A] val value = 10
}
Так что позволит поместить Derived класс в отдельный файл.
Вы пытаетесь найти способ поместить класс case в отдельный файл? – Mingyu
В большинстве случаев - да? Но и для классов, которые не являются «случаем». – user4298319
Имейте в виду, что «запечатанный» не является транзитивным по подклассам. I.e., 'sealed' применяется только к * прямым * подклассам класса с надписью' sealed'. Если какой-либо из этих подклассов (или признаков) не является «final», эти подклассы сами не запечатаны и могут быть дополнительно подклассифицированы. –