次の2つのクラスがあると仮定します。
abstract case class MyParent(param: Int) {
// ...
}
case class MyChild(param: Int) extends MyParent(param: Int) {
// ... ^^^^^ ^^^^^
}
それらを両方のケースクラスにすると、両方の使用場所でエラーが発生しました。これは、親クラスの値をオーバーライドする修飾子がparam
必要であることを示しています。override
これは私には奇妙に見えます..なぜここで他のパラメータ名を発明しなければならないのですか..なぜこの順序が強制されるのですか?利益はどこにありますか?