美文网首页
kotlin:操作符重载

kotlin:操作符重载

作者: 爱你为你做饭 | 来源:发表于2024-03-11 15:08 被阅读0次
    1. kotlin中的操作符


      操作符及操作符重载
      • 操作符:java和kotlin都支持,通常用于两个基础变量的逻辑计算甚至包括按位运算等等,kotlin比java支持的更多一些,操作符的分类可以如图所示:
      • 操作符按照操作的数量可以分为一元操作符和二元操作符,即:
        • 一元操作符:操作单个属性(参数),包括+,-,!和++,--五个操作符,其对应的操作符函数为:


          一元操作符
          一元操作符2
          • 都是常见的操作符不再详细描述了,需要注意的是!:非操作符,即对boolean值求反,还有++a和a++的区别。
      • 二元操作符:操作两个或者多个属性(参数),包括:+,-,,/,%,..,..<,in,!in,+=,-=,=等几个操作符,==,!= 等,下面将逐一解释这些操作符:
        • 普通的二元操作符:+,-,*,/,%,..,..<,前面几个很常见不再详细解释,后面两个代表区间,..代表a到b的区间,..<代表a到b的区间不包含b。其对应的操作符函数如下:


          普通二元操作符
          • in,!in操作符:校验操作符:校验item在不在一个列表或者区间可以使用,其与对应的操作符函数为:


            in操作符
          • 下表访问操作符:对于数组或者区间或者map:a[i],a[i,j]等,其操作符函数如下:


            下标操作符及其函数
          • 计算并赋值操作符:+=,-=,*=,/=等几个操作符,其操作符函数如下:


            计算并赋值操作符
          • 相等和不等操作符:==和!= 其操作符函数为:


            相等及不等操作符函数
          • 比较操作符:>,<,>=,<= 其函数为:


            比较函数
    2. 操作符的重载
      • 操作符函数的重载是kotlin提供的一种机制,上面描述的操作符通常用于数据结构中,比如基础变量,数组,list,map等,kotlin提供了操作符函数的重载帮助用户自定义操作符函数用来实现类级别的需求和场景,通常重载的方式是:类中成员函数重载或者类的扩展函数进行重载。
        • 重载操作符函数的语法:使用关键字operation 声明函数,根据操作符的类型声明参数的个数,即:


          image.png
        • 重载操作符函数的调用:和其他普通函数的调用方式一致,即重载操作符函数的时候是重载其函数,使用的时候可以直接使用其对应的操作符,即:


          重载操作符函数的调用
        • 针对接口中的get函数声明为operator的时候,其实现类中若要重载则不需要关键字operator声明:即:


          重载操作符函数的继承
        • 上面描述的普通的一元,二元操作符的函数重载不再仔细描述,需要注意的是==和!=重载函数,其对应函数equals函数是Any中的一个函数,在继承类中只能重写,不能够重载,具体代码如下(当前不太确认,凭借感觉去写的,有明白的大佬欢迎评论帮忙解析一下):


          image.png

    参考文章:
    kotlin: 操作符重载详解
    kotlin: kotlin操作符和操作符重载
    kotlin:操作符和操作符的重载
    kotlin:重载比较运算符
    知乎:kotlin的操作符的重载

    相关文章

      网友评论

          本文标题:kotlin:操作符重载

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