Hỏi về tính đóng gói trong java

mọi người có thể nói cho em biết là mục đích của việc sử dụng tính đóng gói thay vì public không ạ

1 Like

Giả sử import class chức năng BANK cho phép nạp tiền, có hàm thanhtoán(số tiền)
Trong class BANK có 10 functions, kể luôn functions kế thừa, implements các kiểu là 300 functions
Giờ bạn đánh bankInstance(chấm),
Trường hợp tính đóng gói không có:

  • 300 hàm sẽ xổ ra, vì không có tính đóng gói nên, toàn bộ functions kế thừa đều truy cập được
    —> bạn sẽ không biết bắt đầu từ đâu
  • do không có tính đóng gói nên sẽ khiến class con trở nên complex khi kế thừa, vì số functions sẽ tăng vô hạn.
  • flow làm việc của bạn muốn là: ai đó nên bắt đầu từ hàm thanhtoán(số tiền), bạn sẽ kiểmtrasốdư(), bạn chấp nhận thanh toán bằng hàm chấpnhận(mã hóa đơn). Nhưng không có tính đóng gói, nên ai đó có thể chen ngang vào flow, thay vì bắt đầu từ hàm thanhtoán(số tiền), họ lại gọi hàm chấpnhận(mã hóa đơn) để cheat.

Tóm lại đây là một trong những nguyên tắc bạn giúp có thể tạo đối tượng trong lập trình gần giống với đối tượng trong cuộc sống.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?