Расширение класса case scala без постоянного дублирования переменных конструкторов?

Есть ли способ расширить класс case без постоянного подбора новых значений по пути?

Например, это не работает:

case class Edge(a: Strl, b: Strl)
case class EdgeQA(a: Strl, b: Strl, right: Int, asked: Int) extends Edge(a, b)

"a" конфликтует с "a", поэтому я вынужден переименовать его в a1. Но мне не нужны всевозможные дополнительные общедоступные копии "a", поэтому я сделал

case class Edge(a: Strl, b: Strl)
case class EdgeQA(private val a1: Strl, private val b1: Strl, right: Int, asked: Int) extends Edge(a, b)

Мне это не кажется чистым... Я что-то пропустил?

58
задан Xavier Guihot 17 November 2019 в 10:23
поделиться