Scala面向对象编程与特性深入解析
1. Scala访问机制与一元方法
Scala不使用Java风格的getter和setter方法,而是支持统一访问原则,即读写“裸”字段的语法与间接调用读写方法的语法相同。不过,为了与Java库互操作,有时需要JavaBeans风格的访问器方法,可以使用 scala.reflect.BeanProperty 或 BooleanBeanProperty 注解类。
一元方法方面,以复数类为例,展示了如何实现一元运算符。代码如下:
// src/main/scala/progscala2/basicoop/Complex.sc
case class Complex(real: Double, imag: Double) {
def unary_- : Complex = Complex(-real, imag)
def -(other: Complex) = Complex(real - other.real, imag - other.imag)
}
val c1 = Complex(1.1, 2.2)
val c2 = -c1 // Complex(-1.1, 2.2)
val c3 = c1.unary_- // Complex(-1.1, 2.2)
val c4 = c1 - Complex(0.5, 1.0) // Complex(0.6, 1.2)
一元方法名格式为
超级会员免费看
订阅专栏 解锁全文
70

被折叠的 条评论
为什么被折叠?



