Я изучаю scala и пробовал следующую форму scala Cookbook:
trait Animal
trait FurryAnimal extends Animal
case class Dog(name:String) extends Animal
case class Cat(name:String) extends Animal
Теперь, когда я сделал следующее:
val x = Array(Dog("Fido"),Cat("Felix"))
он показывает результат как:
x:Array[Product with Serializable with Animal] = Array(Dog(Fido),Cat(Felix))
Хотя я знаю, что класс case смешивается с характеристикой Product
То, что я не получаю, это: Product with Serializable with Animal
В соответствии с моим пониманием Продукт имеет отношение к сопоставлению с образцом
Я сделал google, но ничего не получил. Пожалуйста, помогите мне детально описать концепцию.
Спасибо