Je me demande s'il est possible d'hériter de constructeurs auxiliaires dans Scala?Est-il possible d'hériter des constructeurs auxiliaires dans Scala?
J'ai testé ce code, et il se plaignait
temp.scala:18: error: too many arguments for constructor Child:()this.Child
val a = new Child(42)
^
abstract class Father {
var value: Int = 0
protected def setValue(v: Int) = {
value = v
}
protected def this(v: Int) = {
this()
setValue(v)
}
}
class Child extends Father {
}
val a = new Child(42)
Mais si je mets
protected def this(v: Int) = {
this()
setValue(v)
}
dans la classe de l'enfant, tout va bien.
Sur la preuve que vous avez fourni, « Non ». –
Question connexe (et réponse): http://stackoverflow.com/questions/1095329/scala-constructor-overload/1096534#1096534 –
Les constructeurs ne sont pas hérités. Pas à Scala, pas à Java. Pas primaires, pas secondaires. –