Câu trả lời là "tròn". Nhưng không chỉ.
Chú thích tự gõ giải quyết cho tôi vấn đề cơ bản của thừa kế: những gì bạn kế thừa từ không thể sử dụng bạn là gì. Với kiểu tự, mọi thứ trở nên dễ dàng.
mẫu của tôi là những điều sau đây và có thể được coi như một chiếc bánh đã bị suy thoái:
trait A { self: X => def a = reuseme}
trait B { self: X => def b = a }
class X extends A with B { def reuseme=null }
Bạn có thể phát nổ lớp học của bạn trong nhiều hành vi mà có thể được gọi từ bất cứ nơi nào trong lắp ráp, trong khi ở sạch sẽ gõ. Không cần phải có sự hướng dẫn đau đớn quá thường xuyên (và sai) được xác định bằng mẫu bánh.
Một nửa (nếu không phải là toàn bộ) của các khung Java DI phức tạp trong mười năm qua đã được dành để làm điều này, tất nhiên mà không cần gõ. Mọi người vẫn đang sử dụng JAVA trong miền này rõ ràng sẽ mất thời gian của họ: "SCALA ouakbar".
Bản sao chính xác của http://stackoverflow.com/questions/1990948/what-is-the-difference-between-scala-self-types-and-trait-subclasses, là câu hỏi đầu tiên được hiển thị trên danh sách có liên quan . –