美文网首页Kotlin学习笔记
kotlin学习笔记——重载操作符

kotlin学习笔记——重载操作符

作者: chzphoenix | 来源:发表于2017-09-26 14:27 被阅读37次

Kotlin学习笔记系列:http://blog.csdn.net/column/details/16696.html

Kotlin中有很多操作符可以使用,具体可以见http://blog.csdn.net/chzphoenix/article/details/78094523
Kotlin的一个特点就是可以重载这些操作符,为操作符赋予不同的行为。

1、重载操作符
在类中实现操作符对应的方法,如:

data class Book(var name: String, var sections: List<String>){  
     operator fun get(position: Int): String = sections[position]  
}  

我们为book这个类实现了get方法,这样就可以直接使用[]操作符简化代码,如:
sectionTitle.text = book1[2]
代替了
sectionTitle.text = book1.sections[2]

2、扩展函数操作符
同样可以使用扩展函数来重载操作符,如:

data class Book(var name: String, var sections: List<String>)  
  
operator fun Book.get(position: Int): String = sections(position)  
var title1 = book1[1]  

3、invoke
调用invoke时方法可以被省略,所以如果

class ClickAction{  
     operator fun invoke(...){  
          ...  
     }  
}  

可以直接:
clickAction(...)
注意clickAction是类的一个对象

相关文章

  • Kotlin流程控制语句笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin泛型笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin与Java互操作笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin协程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin空指针安全(null-safety)笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin函数式编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin面向对象编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin类型系统笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin委托(Delegation)笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin语言基础笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

网友评论

    本文标题:kotlin学习笔记——重载操作符

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