Kotlin支持操作符重載,通過在類中定義對應的函數來實現。操作符重載的函數需要使用關鍵字operator來修飾,同時需要滿足一定的命名規則。
例如,可以通過重載plus操作符來實現兩個對象相加的功能:
class Point(val x: Int, val y: Int) {
operator fun plus(other: Point): Point {
return Point(x + other.x, y + other.y)
}
}
fun main() {
val p1 = Point(1, 2)
val p2 = Point(3, 4)
val p3 = p1 + p2
println("(${p3.x}, ${p3.y})") // 輸出 (4, 6)
}
除了常見的加減乘除等操作符,Kotlin還支持一些特殊的操作符重載,比如[]、in、…等。可以根據需求選擇合適的操作符進行重載。