2011-11-15 22 views
11

スカラの新機能言語は非常に簡潔です。複数のスカラを持つ

なぜ複数の形質を実装するには、複数の「with」ステートメントが必要です。

例えば:

class Foo extends Bar with A with B with C {} 

class Foo extends Bar with A, B, C {} 
+1

もしあなたがそのルートに行くなら、なぜ「with」があるのでしょうか?なぜClass FooはBar、A、B、Cを拡張しないのですか? – dhg

+0

再びスカラーですが、 "extend"のafaik多重継承はサポートされません。 "with"はこのような機能の一形態を提供します。 – virtualeyes

答えて

27

は考えてみましょう。この

class Foo[A, B] 

new Foo[Bar with D with E, Bar with E] {} 

new Foo[Bar with D, E, Bar with E] {} 

対それはすべての場合において曖昧ではない。

+0

ahhh、ok、 – virtualeyes

+0

@virtualeyesあなたはDRY違反がないことが明らかになるはずです。 – thedayturns