怎么scala的trais和java的interface这么像呢?不过scala的也有奇特的地方,它可以在trait里面进行实现,还有进行堆栈式的接口修改。scala的trait对比class来说有
scala的trait也比较有趣,比如定义一个抽象类
abstract class IntQueue {
def get():Int
def put(x:Int)
}
我们可以在trait中覆盖并且调用父类的put方法,而这在普通class中是不行的。
trait Doubing extends IntQueue {
abstract override def put(x:Int) {super.put(2*x)}
}
嗯,当然如果一个trait是继承某个类的,那么只有同是继承了这个类的class可以使用这个trait.
0 评论: (+add yours?)
Post a Comment