Tôi muốn có thể tham khảo danh sách chứa các loại phụ và kéo các phần tử từ danh sách đó và đưa chúng vào một cách ngầm định. Ví dụ sau:Danh sách và loại phụ Scala
scala> sealed trait Person { def id: String }
defined trait Person
scala> case class Employee(id: String, name: String) extends Person
defined class Employee
scala> case class Student(id: String, name: String, age: Int) extends Person
defined class Student
scala> val x: List[Person] = List(Employee("1", "Jon"), Student("2", "Jack", 23))
x: List[Person] = List(Employee(1,Jon), Student(2,Jack,23))
scala> x(0).name
<console>:14: error: value name is not a member of Person
x(0).name
^
Tôi biết rằng x(0).asInstanceOf[Employee].name
nhưng tôi hy vọng có cách thanh lịch hơn với các loại. Cảm ơn trước.
Trong trường hợp này bạn cũng có thể chỉ cần thêm 'name' lĩnh vực để tính trạng. – drexin