在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
?
我知道方法之间会因为柯里化而产生差异。在构建一个类时,你是否可以进行柯里化?这就是为什么存在这种奇怪的重复吗?