Ngoài các khía cạnh thừa kế, có sự khác biệt giữa các lớp mẫu sau:gì được hơn Scala thành ngữ: đặc điểm TraitA kéo dài TraitB hoặc đặc điểm TraitA {tự: TraitB =>}
1| trait TraitA extends TraitB
2| trait TraitA { self: TraitB => }
Tôi muốn phân chia trách nhiệm giữa TraitA
và TraitB
nhưng trước đây không thể hoạt động mà không có tính năng sau.
Bạn thể hiện ý định này như thế nào? Đối với tôi giải pháp [2] sẽ là cách tiếp cận tự nhiên hơn. Tuy nhiên, tôi không muốn đặt gánh nặng lên người thực hiện trộn lẫn trong những gì cần phải được trộn lẫn trong anyway.
bản sao có thể có của [Sự khác biệt giữa các loại tự scala và các lớp con đặc điểm?] (Http://stackoverflow.com/questions/1990948/what-is-the-difference-between-scala-self-types- và-trait-subclasses) –