19.1 中置操作符
我们以前经常这样写: 1 to 9
这里的 to
就是一个操作符. 它带有两个参数: 一个隐式参数一个显示参数.
上面的表达式实际是在调用1.to(9)
.
这样的表达式称为中置表达式, to
这样的操作符称为中置操作符.
我们也可以在自己的类中定义操作符:
package com.atguigu.akka
/**
* 表示一个分数 x / y
*
* @param x
* @param y
*/
class Fraction(x: Int, y: Int) {
private val x1 = x
private val y1 = y
/**
* 定义两个分数的相乘
* @param other
* @return
*/
def *(other: Fraction): Double = {
new Fraction(x1 * other.x1, y1 * other.y1).valueOf
}
/**
* 计算出来这个分数的小数值
* @return
*/
def valueOf = 1.0d * x1 / y1
}
object Test {
def main(args: Array[String]): Unit = {
// 计算 (1/2) * (3/4)
println(new Fraction(1, 2) * new Fraction(3, 4))
}
}