在Scala中,有什么区别:具有零参数的抽象类和没有参数的抽象类之间有什么区别?
abstract class Foo
// And
abstract class Bar()
似乎没有成为他们之间的差异继承时:
// All of these seem to work
case class FooA() extends Foo()
case class FooB() extends Foo
case class BarA() extends Bar()
case class BarB() extends Bar
难道这些真的都等同,或者是有区别吗?如果他们是所有等价物,我应该使用哪种抽象类定义,Foo
或Bar
?
我知道方法使这种区别因为柯里化。在建造一堂课时你可以咖喱吗?这就是为什么这种奇怪的重复存在?
据我所知,柯里里就是其中的原因。我在建造一堂课时从未尝过苦头,但我猜这是可能的。 –