Kotlin学习(6)操作符重载

本文介绍Kotlin中自定义Point类的操作符重载实现,包括加法、乘法等常见数学运算,并展示了如何使用解构表达式来方便地获取Point对象的坐标值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

data class Point(val x: Int, val y: Int){
    operator fun plus(other: Point): Point{
        return Point(x + other.x, y + other.y)
    }
}
ExpressionFunction name
a * ba.times(b)
a / ba.div(b)
a % ba.rem(b)
a + ba.plus(b)
a - ba.minus(b)
a..ba.rangeTo(b)
+aa.unaryPlus()
-aa.unaryMinus()
!aa.not()
++a,a++a.inc()
–a,a–a.dec()
a += ba.plusAssign(b)
a -= ba.minusAssign(b)
a == ba?.equals(b) ?: ( b === null )
a != b!( a?.equals(b) ?: ( b === null ))
a > ba.compareTo(b) > 0
a >= ba.compareTo(b) >= 0
a shl b( << )a.shl(b)
a shr b( >> )a.shr(b)
a ushr b( >>> )a.ushr(b)
a and b( & )a.and(b)
a or b()
a xor b( ^ )a.xor(b)
a.inv()( ~ )a.inv()
a in bb.contains(a)
a !in b!b.contains(a)
a[i]a.get(i)
a[i] = ba.set(i,b)
a[i, j] => 矩阵之类a.get(i,j)

解构表达式

class Point(val x: Int, val y: Int){
    operator fun component1() = x
    operator fun component2() = y
}

p = Point(1,2)
val (a, b) = p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值