在 Kotlin 中,运算符重载允许你为自定义类型(如类或结构体)定义新的运算符行为。要实现运算符重载,你需要遵循以下步骤:
- 定义一个类或结构体。例如,我们创建一个简单的
Point类,用于表示二维平面上的点:
data class Point(val x: Double, val y: Double)
- 为自定义类型实现运算符函数。在 Kotlin 中,你可以使用
operator关键字来定义运算符重载函数。运算符重载函数的名称必须包含所重载的运算符。例如,我们要为Point类实现加法运算符+:
fun Point.plus(other: Point): Point {
return Point(x + other.x, y + other.y)
}
这里,我们在 Point 类后面添加了一个名为 plus 的函数,它接受一个 Point 类型的参数 other,并返回一个新的 Point 实例,其坐标为两个点对应坐标之和。
- 使用运算符重载。现在你可以像使用内置类型一样使用自定义类型的运算符重载。例如:
val p1 = Point(1.0, 2.0)
val p2 = Point(3.0, 4.0)
val p3 = p1 + p2 // 使用加法运算符
println("p1 + p2 = (${p3.x}, ${p3.y})") // 输出 "p1 + p2 = (4.0, 6.0)"
注意,Kotlin 支持多种运算符重载,包括基本的算术运算符(如 +、-、*、/)、比较运算符(如 ==、!=、>、< 等)以及逻辑运算符(如 &&、||、! 等)。要实现这些运算符的重载,只需按照上述方法为自定义类型编写相应的运算符函数即可。

便宜VPS测评










