将具有私有构造函数(Factory Pattern)的类实例传递给函数

时间:2016-10-12 14:49:07

标签: scala

在我的一个Scala文件中

object DataObject {

    def create(...) {
        new DataObject(...)
    }

}

private case class DataObject(...) { ... }

使用工厂模式。我不能将DataObject作为输入参数提供给

object myfunction { value(in: DataObject): Double = ??? }

?我从IntelliJ得到“无法解析符号DataObject”的错误。如果我删除private我不再收到错误,但我不明白为什么我无法通过DataObject private。我以为它只是关于构造函数?我还能做些什么来传递DataObject afterall?

1 个答案:

答案 0 :(得分:2)

private case class DataObject(...) { ... }

使该类保密;如果您想将构造函数设为私有:

case class DataObject private(...) { ... }