今天通过崔鹏飞的博客,地址 ,我学到了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的 函数,都可以当成是一个子类。而且减少了很多接口和类的数量。