scalagetter和setter

Posted zzhangyuhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scalagetter和setter相关的知识,希望对你有一定的参考价值。

我们在用Java的时候经常把一些字段定义为private类型来完成封装,这样外界就无法访问。

如果外界访问或者修改该字段的时候,只能通过该字段提供的getter和setter方法来实现。

在Scala中是没有getter和setter一说的。

用了value 和 value_= 来分别代替了getter和setter。

下面我们看个例子

class Counter{
    private var privateValue = 0;//私有变量,外界无法直接访问
    def value = privateValue;//定义一个方法,方法名为我们想要的字段的名称,代替getter
    def value_= ( newValue : Int ){//主语 value_= 是方法名字
         value =  newValue;
    } 
     
}
object MyCounter{
    def main(args :Array[String]){
          val myCounter = new Counter;
          println(myCounter.value);//调用value方法访问value,相当于getter
          myCounter.value = 3 ;//为value设置新值,相当于setter
    }
}

  

以上是关于scalagetter和setter的主要内容,如果未能解决你的问题,请参考以下文章

将数据从Activity发送到Fragment - 如何?

kotlin getter 和 setter 期望成员声明错误?

使用lombok时@Setter @Getter无效

Java代码优化:使用构造函数和使用一个个setter的效率差别

自动实现的 getter 和 setter 与公共字段

使用具有通用 setter 和 ARC 的 Objective-C 动态属性