thể trùng lặp:
What is the difference between scala self-types and trait subclasses?Sử dụng từ khóa này để kế thừa?
Từ example in scalatest site. Có một điều đặc biệt mà tôi không thực sự hiểu được
trait FunSuiteStackBehaviors {
this: FunSuite => //This line
def a() {}
def b() {}
}
class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {}
Theo tôi hiểu, có vẻ như họ cố gắng gán một số khiếm khuyết vào một đặc điểm. Nhưng phần this: FunSuite =>
làm gì? Tôi đã cố gắng sử dụng mở rộng FunSuite thay vì như
trait FunSuiteStackBehaviors extends FunSuite {
def a() {}
def b() {}
}
class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {}
và tôi vẫn kết thúc với cùng một kết quả. Họ là những điều tương tự ?
Đó là một loại tự. http://stackoverflow.com/questions/1990948/what-is-the-difference-between-scala-self-types-and-trait-subclasses http://stackoverflow.com/questions/tagged/self-type – retronym
Hmm . những câu hỏi đó không xuất hiện khi tôi cố gắng tìm kiếm. Cảm ơn bạn đã chỉ ra điều đó. –