gpt4 book ai didi

scala - 访问抽象类 (Scala) 中的构造函数创建的字段

转载 作者:行者123 更新时间:2023-12-02 10:41:13 26 4
gpt4 key购买 nike

我有一个实现一种方法的抽象类。

如何访问参数internalValue (由抽象类构造函数设置?)

abstract class Value(internalValue:Int) {
def equal( v:Value ): Boolean

def notEqual( v:Value ): Boolean = {

//here I get an error on v.internalValue:
//"value internalValue is not a member of Value"
(internalValue != v.internalValue)
}
}

case class Value1(internalValue:Int) extends Value(internalValue){
def equal( v:Value1 ): Boolean = {
//this works correctly
(internalValue == v.internalValue)
}
}

谢谢你。

最佳答案

定义 internalValue成为 val :

abstract class Value(val internalValue: Int)

或者如果您担心封装(名称 internalValue 暗示),您可以使用 private val :
abstract class Value(private val internalValue: Int)

完全不声明任何修改实际上等同于 (?) 类似于 private[this]这意味着:只有 Value 的这个特定实例可以访问这个私有(private)字段。

关于scala - 访问抽象类 (Scala) 中的构造函数创建的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13044975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com