Scala中受保护的函数

Jij*_*ija 15 scala

如何在Scala中的包中的所有类都可访问的类中创建受保护的函数?

Jij*_*ija 40

你可以做

protected[packagename] def foo() {...}
Run Code Online (Sandbox Code Playgroud)

  • 是的,但我们可以称之为:方法.Scala中的函数完全不同. (3认同)
  • 不应该是`private [packagename]`? (3认同)

mkn*_*ssl 11

如果我们注意函数和方法之间的区别,我们可以定义一个派生自的对象Function:

protected[packagename] object fn extends (Int=>Int) {
  def apply(n: Int) = 2*n 
}
Run Code Online (Sandbox Code Playgroud)