【发布时间】:2010-12-16 09:02:21
【问题描述】:
我一直对在 Scala 中没有显式主构造函数的影响感到好奇,只有类主体的内容。
特别是,我怀疑私有或受保护的构造函数模式,即通过伴随对象或另一个类或对象的方法控制构造可能没有明显的实现。
我错了吗?如果有,是怎么做的?
【问题讨论】:
-
您可以有一个 Scala 单例(即带有 object 关键字),并在该单例中将您的类定义为私有,并使用该单例的方法来构造您的对象。
-
@Paggas,不幸的是,当您在其范围之外返回标记为私有的类的实例时,即使从其范围内伴随对象的方法返回,它也不会编译。
-
这在整个 Scalaz 源代码中被大量使用。该概念也称为抽象代数数据类型。
标签: scala