scala 中的get/set
在scala中同样也有类似java中的get、set方法,但使用和编写方式并不太相同
示例
object Test01 {
def main(args: Array[String]): Unit = {
val stu = new Student
//在使用方面 set方法可之间按如下格式使用
stu.name = "张三"
stu.age = 130
//set方法可按如下方法使用
println(println(s"${stu.name},${stu.age}"))
}
class Student{
//私有字段
private var priavetName:String = _
private var privateAge:Int = _
//name的get方法
def name = priavetName
//name的set方法
def name_=(newVal:String) {priavetName=newVal}
//age的get方法
def age = privateAge
//age的set方法,这里对age进行了校验,年龄要在0~130之间,否则抛出异常
def age_= (newVal:Int) {
if(newVal<0 || newVal>130) throw new Exception("年龄必须在0~130之间") else privateAge = newVal
}
override def toString = s"Student($name, $age)"
}
}