Trong Scala, tôi thấy tính năng như biến đối tượng-riêng. Từ nền tảng Java không phong phú của mình, tôi đã học cách đóng mọi thứ (đặt nó ở chế độ riêng tư) và mở (cung cấp trình truy cập) nếu cần. Scala giới thiệu công cụ sửa đổi truy cập thậm chí nghiêm ngặt hơn. Tôi có nên luôn sử dụng nó theo mặc định không? Hay tôi chỉ nên sử dụng nó trong một số trường hợp cụ thể mà tôi cần hạn chế rõ ràng việc thay đổi giá trị trường ngay cả đối với các đối tượng của cùng một lớp? Nói cách khác, tôi nên chọn như thế nào giữa
class Dummy {
private var name = "default name"
}
class Dummy {
private[this] var name = "default name"
}
Thứ hai là nghiêm ngặt hơn và tôi thích nó nhưng tôi có nên sử dụng nó luôn không hay chỉ khi tôi có lý do chính đáng?
CHỈNH SỬA: Như tôi thấy ở đây private[this]
chỉ là một số chữ hoa con và thay vì this
tôi có thể sử dụng các bổ ngữ khác: "đối tượng package, class hoặc singleton". Vì vậy, tôi sẽ để nó cho một số trường hợp đặc biệt.