Scala 前置、中置、后置操作符

object OperatorDemo {

  def main(args: Array[String]): Unit = {
    val oper = new MyOper

    //普通调用方式
    oper.unary_~

    //前置调用,支持+、-、!、~
    ~oper //unary_~...

    //中置调用
    oper midOper 5 //midOper...

    //后置调用,可以看做无参的中置调用
    oper postOper //postOper...
    
  }

}

class MyOper {

  var num: Int = _

  def midOper(n: Int) = {
    println("midOper...")
  }

  def postOper(): Unit = {
    println("postOper...")
  }

  //前置操作符,方法名固定格式
  def unary_~() = {
    println("unary_~...")
  }
}

  

posted @ 2020-04-24 13:45  地中有山  阅读(399)  评论(0编辑  收藏  举报