Scala面向对象编程:特性与设计原则
1. Scala的访问原则与一元方法
1.1 统一访问原则
Scala不使用Java风格的getter和setter方法,而是支持统一访问原则。这意味着读取和写入“裸”字段的语法与间接调用读写方法的语法相同。不过,为了与Java库进行互操作性,我们可以使用 scala.reflect.BeanProperty 或 BooleanBeanProperty 注解来创建JavaBeans风格的访问器方法。
1.2 一元方法的实现
在Scala中,我们可以实现一元运算符。例如,对于复数类,我们可以实现取反操作:
// 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
超级会员免费看
订阅专栏 解锁全文
618

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



