Можно ли объявить объект и класс Enumeration на том же уровне в Scala?Определить объект и класс значений Enumeration на том же уровне
Я начал с этого, но я не уверен, что является лучшим способом регистрации экземпляров.
object Gender extends Enumeration {
val MALE = new Gender(0)
val FEMALE = new Gender(1)
}
class Gender(val id: Int) extends Gender.Value {
}
Мотивацией для этого является то, что я не хочу, чтобы обратиться к классу перечислений в Gender.Gender, но Пол.
Не является ли объект экземпляром класса, поэтому вы не можете применить к нему «новый»? –
Да, но новый Пол относится к классу, а не к объекту, этот код компилируется и константы перечисления будут доступны, но перечисление не будет знать о них –