Scala Trait (Mixin) 的写法

Ways to write Scala Trait (Mixin)

你好,我是 scala 的新手,我有以下场景,我有一个特征让我们假设特征如下

trait abc{
    def someFun();
}

这个someFun()包含两个函数fun1()和fun2()。同样,函数 fun1() 和 fun2() 可以包含其他函数。 我只会调用 someFun() 其他的都应该被执行, 我如何使用 scala trait 实现上述场景。示例代码示例将是预期的。

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

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

object impl extends abc
impl.someFun()