Rozważmy prostą klasę Scala:Różnice podczas zastępowania odziedziczonych pól konstruktora?
class A(val d: Int)
Czy istnieje różnica w Scala (zarówno w zachowaniu lub wygenerowanego kodu bajtowego) pomiędzy
class B(d: Int) extends A(d)
i
class B(override val d: Int) extends A(d)
lub oba równoważne? Jeśli są różne, jaki byłby konkretny przypadek użycia dla każdego z nich?
Czy byłoby inaczej, gdyby A
zdefiniowano jako class A(var d: Int)
?