Lợi ích của việc sử dụng getters và setters là gì?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
102 lượt xem
Java middle
  • Đóng gói hành vi liên quan đến việc get hoặc set thuộc tính - điều này cho phép thêm các chức năng bổ sung (như xác thực - validation) sau này dễ dàng hơn.
  • Ẩn phần đại diện bên trong của thuộc tính trong khi hiển thị thuộc tính bằng cách sử dụng hình thức đại diện thay thế.
  • Ngăn chặn public-interface của bạn khỏi sự thay đổi - cho phép public-interface không đổi khi việc triển khai thay đổi mà không gây ảnh hưởng đến người dùng hiện tại.
  • Kiểm soát thời gian tồn tại và việc quản lý bộ nhớ của thuộc tính - đặc biệt quan trọng trong môi trường bộ nhớ không được quản lý (như C ++ hoặc Objective-C).
  • Cung cấp một điểm chặn debugging khi một thuộc tính thay đổi trong runtime - việc debugging một thuộc tính khi nào và ở đâu được thay đổi thành một giá trị cụ thể có thể khá khó khăn nếu không có điều này trong một số ngôn ngữ.
  • Cải thiện khả năng tương tác với các thư viện được thiết kế để hoạt động chống lại thuộc tính getters / setters – ví dụ: Mocking, Serialization và WPF.
  • Cho phép người kế thừa thay đổi ngữ nghĩa của cách thuộc tính hoạt động và được hiển thị bằng cách ghi đè các phương thức getter / setter.
  • Cho phép getter / setter được chuyển dưới dạng biểu thức lambda chứ không phải giá trị.
  • Getters và setters có thể cho phép các cấp độ truy cập khác nhau - ví dụ: get có thể là public, nhưng set có thể là protected.
  • Cho phép lazy loading.
  • Cho phép sao chép khi ghi (copy on write).
{{login.error}}