【scala】getter和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
    }
}

  

猜你喜欢

转载自www.cnblogs.com/zzhangyuhang/p/8921737.html