Tôi tìm thấy một số sử dụng khó hiểu của đặc điểm ở một số mã unittesting, chẳng hạn như:Các dấu ngoặc nhọn sau đây hoạt động như thế nào?
trait MyTrait {
val t1 = ... //some expression
val t2 = ... //some expression
}
Và sau đó nhanh chóng các đặc điểm sử dụng mới và khi đó một số biểu bọc bởi dấu ngoặc nhọn theo instantiation.
test("it is a test") {
new MyTrait {
// do something with t1 and t2
}
}
Tôi bị nhầm lẫn bởi cú pháp lạ này.
Câu hỏi của tôi là:
tại sao sử dụng theo đặc điểm instantiation bởi dấu ngoặc nhọn?
mục đích của việc khởi tạo đặc điểm trong trường hợp này là gì và các trường hợp khác cũng có thể hữu ích?
Duplicate của http://stackoverflow.com/questions/12891321/why-are-traits-instantiable, http://stackoverflow.com/questions/6155570/what-does-it-mean-to-instantiate-a-trait – sourcedelica