Kotlin怎么支持操作符重載

小億
83
2024-04-15 14:49:06

Kotlin支持操作符重載,通過(guò)在類中定義對(duì)應(yīng)的函數(shù)來(lái)實(shí)現(xiàn)。操作符重載的函數(shù)需要使用關(guān)鍵字operator來(lái)修飾,同時(shí)需要滿足一定的命名規(guī)則。

例如,可以通過(guò)重載plus操作符來(lái)實(shí)現(xiàn)兩個(gè)對(duì)象相加的功能:

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)
}

除了常見(jiàn)的加減乘除等操作符,Kotlin還支持一些特殊的操作符重載,比如[]、in、…等??梢愿鶕?jù)需求選擇合適的操作符進(jìn)行重載。

0