在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
?
我知道方法使這種區別因爲柯里化。在建造一堂課時你可以咖喱嗎?這就是爲什麼這種奇怪的重複存在?
據我所知,柯里裏就是其中的原因。我在建造一堂課時從未嘗過苦頭,但我猜這是可能的。 –