如何在Scala上使用属性?

Phư*_*yễn 3 c# encapsulation scala

是的,您可以通过setName设置属性名称并通过getName获取它.但是在C#中这样的属性怎么样:

int Name{
  get{return name;}
  set{name = value;}
}
Run Code Online (Sandbox Code Playgroud)

要么

Name{get; set;} 
Run Code Online (Sandbox Code Playgroud)

(汽车财产)

我想知道Scala中是否存在这样的事情.谷歌搜索没有任何信号.

mis*_*tor 8

scala> class A {
     |   var name: String = ""
     | }
defined class A

scala> val a = new A
a: A = A@1df3082

scala> a.name = "kool"

scala> a.name
res0: String = kool

scala> class A {
     |   private var _name = ""
     |   def name = _name                   // a getter
     |   def name_=(value: String) {        // a setter
     |     _name = value
     |   }
     | }
defined class A

scala> val a = new A
a: A = A@baf4ae

scala> a.name = "abc"

scala> a.name
res1: java.lang.String = abc
Run Code Online (Sandbox Code Playgroud)