是的,您可以通過setName設置屬性名稱並通過getName獲取它。 但是關於在C#這樣的屬性是什麼:如何在Scala上使用屬性?
int Name{
get{return name;}
set{name = value;}
}
或
Name{get; set;}
(自動屬性)
我不知道如果在Scala中存在這樣的事情。谷歌搜索沒有任何信號。
是的,您可以通過setName設置屬性名稱並通過getName獲取它。 但是關於在C#這樣的屬性是什麼:如何在Scala上使用屬性?
int Name{
get{return name;}
set{name = value;}
}
或
Name{get; set;}
(自動屬性)
我不知道如果在Scala中存在這樣的事情。谷歌搜索沒有任何信號。
scala> class A {
| var name: String = ""
| }
defined class A
scala> val a = new A
a: A = [email protected]
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 = [email protected]
scala> a.name = "abc"
scala> a.name
res1: java.lang.String = abc
只是爲了保持完整性,如果你只是想固定字段(推薦!)
case class A(name: String)
是一回事
class A(val name: String)
至於固定字段/屬性。 「case」關鍵字自動生成構造函數參數vals,並添加其他好東西。
,如果你想的Java get/set方法
class Person {
@scala.reflect.BeanProperty
private var name: String = _
}
val p = new Person
p.setName("Peter")
println(p.getName)
您可以使用scala.reflect.BeanProperty