Вопросы по теме 'companion-object'

Сопутствующий объект не может получить доступ к частной переменной в классе
Довольно странное поведение, исходящее от Scala REPL. Хотя следующее компилируется без проблем: class CompanionObjectTest { private val x = 3 } object CompanionObjectTest { def testMethod(y:CompanionObjectTest) = y.x + 3 } закрытая...
3399 просмотров

Применить к сопутствующему объекту к типу с псевдонимом
Я хочу сделать свой код Scala более читабельным, поэтому я добавил пользовательские типы для всех параметризованных типов. Итак, у меня есть объект пакета, для простоты, type IntSeq = Seq[Int] Однако сейчас я не могу делать простые apply...
847 просмотров
schedule 03.06.2022

Как говорить о сопутствующих объектах и ​​обычных объектах?
Я впервые преподаю Scala, и мои ученики находят намеренное «каламбур», связанное с объектами-компаньонами, очень запутанным. Рассмотрим следующий пример: class Stack { ... methods such as push/pop } object Stack { ... factory method(s) and...
1697 просмотров
schedule 06.03.2022

Переопределение значений объекта-компаньона и Scala MatchError
Может ли кто-нибудь пояснить, почему следующий код вызывает ошибку MatchError? Что означает MatchError в этом случае? class A { def g = A.f } object A { val f = "Object A" } class B extends A { override val A.f = "Object B" } val b =...
3973 просмотров
schedule 18.08.2023

Когда неявное импортируется из сопутствующего объекта?
Я знаю, что это уже сотый вопрос о неявных/сопутствующих объектах. Однако этот случай я пока нигде не нашел. Почему в «Tryout» A не нужен импорт для неявного класса, а B он нужен? Спасибо. class LongConsumer { def consume(l: Long) = Unit...
184 просмотров

Шаблон проектирования Factory в Scala с case-классами
Я пытаюсь реализовать шаблон проектирования factory в Scala, используя методы применения, доступные для объекта-компаньона. У меня следующий подход. sealed trait MyType { def param: String } case class TypeA(param: String) extends MyType case...
3845 просмотров
schedule 24.08.2022

Доступ к объекту внутри объекта-компаньона в scala
У меня есть следующее: case class Location(name: String, level: Location.Level) object Location { trait Level case object City extends Level case object State extends Level } Если я попытаюсь получить доступ к City (из другого...
75 просмотров
schedule 30.09.2022

Может ли трейт гарантировать, что он будет унаследован сопутствующим объектом во время компиляции или выполнения?
У меня есть трейт, для которого инициализация не по своей сути потокобезопасна, но предназначена исключительно для использования в качестве основы для сопутствующих объектов, для которых инициализация является потокобезопасной за счет...
100 просмотров
schedule 06.10.2022

Избегайте повторяющихся псевдонимов типов в классе Scala и сопутствующем объекте.
Я новичок в Scala, и у меня есть программа Scala с классом и сопутствующим объектом, и я хочу использовать псевдоним типа, который используется: Определить методы класса. Также я хочу использовать псевдоним вне класса. Для этого я считаю...
333 просмотров
schedule 25.12.2022

Неявное разрешение для разных порядков класса дела и компаньона
Обычно я пишу сначала case class , а затем сопутствующий object в том же файле, прямо под ним. Но при попытке импортировать implicit , объявленный в компаньоне, я вынужден изменить порядок объявления (и, очевидно, не хочу). Какова рекомендуемая...
346 просмотров

Как отказаться от сопутствующего объекта класса case?
Я заметил, что если класс case устарел, его сопутствующий объект — нет. scala> @deprecated case class A(x: Int) warning: there was one deprecation warning; re-run with -deprecation for details defined class A scala> A(0) res0: A = A(0)...
230 просмотров
schedule 23.08.2023

Почему я не вижу компонент объекта-компаньона расширенного класса?
У меня есть абстрактный класс: abstract class Vec2t и расширяющий класс: class Vec2 : Vec2t Vec2t имеет следующий сопутствующий объект : companion object { @JvmField val length = 2 } Но когда я набираю...
373 просмотров
schedule 28.01.2023

Scala Сопутствующий объект Vs. Новый объект класса Scala
Вот код и результат: //A scala class with a private variable and one method class A { private var a1 = "Zoom" def A1(): Unit = { println("A1 Class") } } //A companion object object A { def A2(): Unit = { println("A1 Obj") val...
237 просмотров
schedule 24.07.2022

В scala, как я могу выбрать между классом + сопутствующим объектом и только объектом
Я не уверен, следует ли мне выбрать класс с сопутствующим объектом в scala вместо использования только объекта. Я просто хочу использовать объект в любом случае, но только потому, что мне нужен только один экземпляр класса. С другой стороны, я...
189 просмотров

автоматически генерировать объект дела для класса дела
Как сделать так, чтобы компилятор scala автоматически генерировал объект case? // Pizza class class Pizza (val crust_type: String) // companion object object Pizza { val crustType = "crust_type" } Желаемые свойства для объекта case...
717 просмотров

Scala изменяет параметры функции, определенной в трейте
Поскольку я нигде не нашел решения своей проблемы, я думаю, что, возможно, думаю в очень неправильном направлении. Вот моя проблема: у меня есть черта A и другая черта B и сопутствующие объекты AB1, AB2, AB3 и так далее. Одноэлементные объекты...
627 просмотров

Kotlin Companion Object имеет значение null при ссылке
Не уверен, правильно ли я использую этот объект-компаньон. Класс данных: data class AppModel( val name: String, val items: List<ItemModel>, ) Установите данные: open class PathManager() { companion object {...
1696 просмотров

Невозможно вызвать использование имени класса напрямую для типа карты после добавления сопутствующего проекта
Когда у нас есть класс case, мы вызываем map тип с именем типа, например: case class Foo(value: String) val value = Some("Yay!") val foo = value.map(Foo) Но если мы также предоставим сопутствующий объект, он перестанет работать...
47 просмотров
schedule 04.04.2022