2012-03-29 16 views

risposta

22

No, ClassC è sufficiente estendere uno di questi, ma è possibile mixare più tratti.

+2

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

26

Non è possibile estendere più classi, ma è possibile estendere diversi tratti. A differenza delle interfacce Java, i tratti possono includere anche l'implementazione (definizioni dei metodi, membri dei dati, ecc.). C'è ancora una differenza nel fatto che non è possibile istanziare direttamente un tratto (simile a classi astratte in un modo).

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

La prego mi aiuti su questo: http://stackoverflow.com/questions/30747810/how-to-write-an -scala-parser-per-arithmetic-operations-including-string – Rubbic

+0

come le interfacce Java 8, i tratti possono ... – Andrew

+0

@AndrewTobilko Non proprio, Java 8 ha introdotto i metodi predefiniti, ma ancora nessun (nemmeno i campi 'astratti') alle interfacce . – Adowrath

Problemi correlati