Sto imparando scala e ho cercato seguente modulo Scala Cookbook:Scala caso Classe prodotto allungabile con Serializable
trait Animal
trait FurryAnimal extends Animal
case class Dog(name:String) extends Animal
case class Cat(name:String) extends Animal
Ora, quando ho seguito come:
val x = Array(Dog("Fido"),Cat("Felix"))
si visualizza il risultato come:
x:Array[Product with Serializable with Animal] = Array(Dog(Fido),Cat(Felix))
Anche se so che una classe di case è stata miscelata con il tratto di prodotto
Quello che non sto ottenendo è: Product with Serializable with Animal
Come per la mia comprensione del prodotto ha qualcosa a che fare con il modello di corrispondenza
ho fatto google, ma non ha ottenuto anything.Please Aiuto per farmi avere il concetto in dettaglio.
Grazie
Ehi, è una matrice eterogenea ed entrambi gli elementi si estendono per l'animale, quindi con l'animale. Se si inseriscono entrambe queste classi di casi all'interno di un'altra classe di case, quindi si aggiunge la classe case all'array. otterresti la matrice della classe del caso. Ero io stesso alla ricerca di una buona lettura di questo prodotto con la parte posteriore serializzabile .. Ma non l'ho trovato. Forse qualcuno può cancellare i nostri pensieri.! –
http://underscore.io/blog/posts/2015/06/04/more-on-sealed.html –
anche https://github.com/scala/scala-abide/issues/41 –