2011-11-15 13 views
11

Yeni Scala'ya. Dil oldukça özlü.Scala'ya birden çok

Birden çok özelliğin neden uygulandığını birden çok "içeren" deyim gerektirir.

Örneğin:

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

vs

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

Eğer bu rotaya gidiyorsanız, neden "ile" var? Neden Class Foo Bar, A, B, C' yi uzatmıyor? – dhg

+0

yeniden, scala için yeni, ama afaik çoklu "miras" ile miras desteklenmez, "ile", – virtualeyes

cevap

27

düşünün bu

class Foo[A, B] 

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

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

vs Sadece her durumda açık değil.

+0

ahhh bir işlev sağlar sağlar, Tamam, görünür çoklu-olmayan DRY-ness görünür, teşekkürler. – virtualeyes

+0

@virtualeyes "with" (farklı görünümlü) bir virgül gibi düşünebilirsiniz; bu, DRY ihlali olmadığı açıkça görülmelidir. – thedayturns