Cảnh báo: Tôi đang đăng chéo từ #scalamối quan hệ giữa các loại nội bộ phụ thuộc vào đường dẫn trong Scala
10 Sách Lập trình trong Scala quy định rằng loại phụ thuộc vào đường dẫn khác nhau tùy thuộc vào trường hợp chính xác của đường dẫn được đề cập . Nếu như vậy, tôi không hiểu tại sao tất cả các vị từ sau trở thành sự thật:
class Outer {
val in = new Inner
class Inner
}
val o1 = new Outer
val o2 = new Outer
o1.in.isInstanceOf[Outer#Inner] //makes perfect sense
o1.in.isInstanceOf[o1.Inner] //still makes sense, the path-dependent type is o1's own
o1.in.isInstanceOf[o2.Inner] //why is this true? PiS p.423 says the path-dependent types are different, they only share a common supertype Outer#Inner
Trông giống như một lỗi đối với tôi, nhưng nó có thể là kết quả của việc xóa. Kết hợp, được ưu tiên hơn isInstanceOf/asInstanceOf, hoạt động như mong đợi. –