写Scala Trait的方法(Mixin)

时间:2015-02-14 19:08:35

标签: scala traits

您好我是scala的新手,我有以下情况,我有一个特性让我们假设特征如下

trait abc{
    def someFun();
}

这个someFun()包含两个functipn fun1()和fun2()。再次函数fun1()和fun2()可以包含其他函数。 我只会调用someFun(),其他所有都应该被执行, 我如何使用scala trait实现上述场景。可以使用示例代码示例。

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你想在someFun的范围内将fun1和fun2定义为本地函数。 scala中的特征与Java中的接口不同,可以实现。所以你可以这样做:

trait abc {
   def someFun() {
    def fun1() { println("Hello") }
    def fun2() { println("Bye") }
    fun1()
    fun2()
   }
}

object impl extends abc
impl.someFun()