scala的type alias特性

今天通过崔鹏飞的博客,地址http://cuipengfei.me,我学到了type alias的使用方法,借助于这个特性,可以给予它来实现好多封装。
 
比如说:
    type Fly = ()=>Unit

    def doFly(fly:Fly): Unit ={
      fly()
    }
    val birdFly = ()=>{
      println("我是一只鸟")
    }
    val pigFly = ()=>{
      println("我是一只猪,我在风口上")
    }

    doFly(birdFly)
    doFly(pigFly)

对于doFly方法来说,Fly可以等同的当作是一个java的接口,只要满足()=>Unit的 函数,都可以当成是一个子类。而且减少了很多接口和类的数量。

posted on 2016-03-03 22:48  luckuan1985  阅读(248)  评论(0编辑  收藏  举报