2012-03-29 19 views

Odpowiedz

22

Nie, ClassC wystarczy przedłużyć jedną z nich, ale można mieszać wiele cech.

+2

Zobacz http://www.scala-lang.org/node/117 – Synesso

26

Nie można rozszerzyć wielu klas, ale można rozszerzyć kilka cech. W przeciwieństwie do interfejsów Java, cechy mogą również obejmować implementację (definicje metod, elementy danych itp.). Wciąż istnieje różnica, że ​​nie można bezpośrednio utworzyć instancji cechy (w sposób podobny do klas abstrakcyjnych).

trait T1 
trait T2 
trait T3 
class C extends T1 with T2 with T3 
+0

Czy mógłbyś mi pomóc w tej sprawie: http://stackoverflow.com/questions/30747810/how-to-write-an -scala-parser-do-operacji arytmetycznych-w tym-ciąg – Rubbic

+0

jak interfejsy Java 8, cechy mogą ... – Andrew

+0

@AndrewTobilko Nie do końca, Java 8 wprowadziła domyślne metody, ale wciąż nie ma (nawet "abstrakcyjnych") pól do interfejsów . – Adowrath

Powiązane problemy