Kotlin 运算符重载代码练习

该博客展示了如何在Kotlin中创建自定义的算术运算符,包括对象的加法、乘法和负数操作。通过自定义`BoxInt`类,实现了乘法操作符,并演示了对象相加的方法。此外,还覆盖了`Point`类的负数操作符,以及`BigDecimal`的自增操作。最后,通过示例代码展示了这些自定义运算符的使用情况。
摘要由CSDN通过智能技术生成

代码包括对象的乘法运算等等

//新建一个算术类(存在乘法运算)
class BoxInt(var i: Int){
    operator fun times(x: BoxInt) = BoxInt(i * x.i)
    override fun toString(): String {
        return i.toString()
    }
}
//新建一个方法,便于对象的相加
operator fun BoxInt.plus(x: BoxInt) = BoxInt(this.i + x.i)

//重载负数方法的类
class Point(val x:Int, val y:Int){
    operator fun unaryMinus() = Point(-x, -y)
    override fun toString(): String {
        return "Point(x=$x,y=$y)"
    }
}
//自增函数拓展
operator fun BigDecimal.inc() = this + BigDecimal.ONE

fun main(args: Array<String>) {
    val a = BoxInt(52)
    val b = BoxInt(10)
    println(a + b )
    println(a * b )
    println(1.plus(4))
    println(10.div(5))
    println(1.times(0))
    println(9300.plus(94))
    //测试负方法类
    println(-Point(1,1))
    //测试自增类函数
    var bigDecimal1 = BigDecimal(100)
    var bigDecimal2 = BigDecimal(100)
    val tmp1 = bigDecimal1++
    val tmp2 = ++bigDecimal2
    println(tmp1) //100
    println(tmp2)
    println(bigDecimal1)
    println(bigDecimal2)

}

输出结果是:

62
520
5
2
0
9394
Point(x=-1,y=-1)
100
101
101
101
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值