class A {<span class="kwrd">private</span> var _a = <span class="str">""</span> def a = _a def a_=(newValue:String) { _a = newValue }
}```
其中的a=函数,是方便我们赋值,见下例:
val a = new A=
a.a // -> ““
a.a = “x” // invoke a
a.a // -> “x”<p>如果不是需要在赋值或取值的时候需要做一些转换的操作,一般没有必要这样做。事实上,scala已经把所有的属性隐藏起来了。 例如: <pre class="csharpcode"><span class="kwrd">class</span> A{ var id: Int = _ }``` <p>看上去我们定义了一个公开的属性id,实际上属性id是被隐藏起来的(private可见),这里只是定义了两个方法 <pre class="csharpcode">def id : Int def id_=(v: Int)```