美文网首页我爱编程
Kotlin 函数1 - 运算符重载

Kotlin 函数1 - 运算符重载

作者: ChenME | 来源:发表于2018-07-26 10:39 被阅读18次

Kotlin 函数1 - 运算符重载


运算符重载在 Kotlin 中的应用非常的广泛,它可以方便去赋予一些基本运算符以我们自己想要达到的效果,方便我们编程

1. 先看一个计算复数的例子:

  1. 复数与复数相加

要求:

  1. 定义一个复数的类;
  2. 让它实现复数的加法运算(实部与实部相加,虚部与虚部相加);
class Complex(var real: Double, var imaginary: Double) {

    operator fun plus(complex: Complex): Complex {
        return Complex(real + complex.real, imaginary + complex.imaginary)
    }

    override fun toString(): String {
        return "$real + ${imaginary}i"
    }
}
  1. operator 是重载运算符方法的关键字;
  2. plus+ 操作符的重载方法的方法名;
  3. 最后,重写了 toString() 方法,方便我们后面验证效果
  • 运行程序
val complex1 = Complex(2.0, 7.3) // 2 + 7.3i
val complex2 = Complex(5.0, 10.0) // 5 + 10i
println(complex1 + complex2) // 7.0 + 17.3i
  1. 复数与实数相加
  • 在上面例子中为 Complex 类再添加一个重载方法
operator fun plus(other: Double): Complex {
    return Complex(real + other, imaginary)
}
  • 运行程序
val doubleNum = 3.0
println(complex1 + doubleNum) // 5.0 + 7.3i
  1. 复数与实数相加,结果只取实部
operator fun plus(other: Double): Double {
    return real + other
}
  • 运行
val doubleNum = 3.0
println(complex1 + doubleNum) // 5.0

总结:

  1. fun 前面使用 operator 关键字修饰;
  2. 重载时,参数个数必须与被重载的方法参数个数保持一致;
  3. 参数类型和返回值类型可以是任意的;

相关文章

  • Kotlin 函数1 - 运算符重载

    Kotlin 函数1 - 运算符重载 运算符重载在 Kotlin 中的应用非常的广泛,它可以方便去赋予一些基本运算...

  • Kotlin请开始你的表演——02运算符篇

    运算符 1、运算符重载 Kotlin支持标准的算数运算表达式,并且Kotlin为这些运算符都内建了对应的函数来表示...

  • Kotlin 函数用法入门

    本文内容: 函数与函数常量 扩展函数 命名参数与默认参数 运算符重载 递归与尾递归 定义函数 在 Kotlin 中...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

  • Kotlin运算符重载及其他约定摘要

    重载算数运算符 Kotlin 限定了你能重载哪些运算符,以及你需要在你的类里面定义的对应名字的函数,你不能定义自己...

  • Kotlin的基本语法三

    1.数组 数组在 Kotlin 中使用 Array 类来表示,它定义了 get 与 set 函数(按照运算符重载约...

  • kotlin 基础之运算符重载

    我们知道Java 中是不允许运算符重载的,1+1,输出肯定是2,kotlin 则可以重载。可见 kotlin 官网...

  • 第十一章 使用类(1)运算符重载及实例

    (一)运算符重载及实例 1.函数重载 指函数名相同,但特征标不同(参数列表不同),也称为函数多态。运算符重载将函...

  • Kotlin实战学习笔记(七 约定)

    重载算术运算符 重载算术运算符 Kotlin没有提供位运算符,用下面方式代替 重载复合赋值运算符通常定义了plus...

  • 运算符重载定义与友元函数

    运算符重载定义 这种方式成为成员重载运算符函数。 头文件 实现文件 调用重载运算符 time1 = time1 +...

网友评论

    本文标题:Kotlin 函数1 - 运算符重载

    本文链接:https://www.haomeiwen.com/subject/lgwvmftx.html