¿hay alguna forma de ampliar una clase de caso sin tener que elegir nuevos vals constantemente en el camino? Por ejemplo esto no funciona¿Ampliando la clase scala case sin duplicar constantemente los valores de los constructores?
case class Edge(a:Strl, b:Strl)
case class EdgeQA(a:Strl, b:Strl, right:Int, asked:Int) extends Edge(a,b)
"a" conflictos con "A", por lo que estoy obligado a cambiar el nombre a A1. Pero no quiero todo tipo de copias públicas adicionales de "a", así que lo hice de forma privada.
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)
Esto simplemente no me parece limpio ... ¿me falta algo?
Perdemos la ventaja de Edge como una clase independiente: antes de que pudiera ser instanciada y tenía el objeto Factory methods – javadba
pero aún necesito volver a declarar a y b. ¿Qué ocurre si el rasgo tiene algún valor predeterminado para ay ser y deseo usar esos valores por sí mismos? – Sohaib
¿Puedes explicar por qué se prefiere def en los rasgos? – Wolfsblvt