Access modifier là gì?
Access modifier là gì?
Để
làm rõ khái niệm này, tôi sẽ cho bạn một ví dụ nho nhỏ
Một
công ty có 3 dạng người: Nhân viên, Thư ký, Tổng giám đốc.
Trong công ty có nhiều căn phòng, mỗi căn phòng đều có chiếc bảng treo trước cửa.
Những chiếc bảng sẽ ghi 1 trong 3 dòng chữ: Công
cộng (dành cho Nhân viên, Thư ký và Tổng giám đốc), Nội bộ(dành cho Thư ký và Tổng giám đốc) hoặc Bí mật (chỉ dành cho Tổng giám đốc). Như vậy, khi một căn phòng được
phân quyền là “Công cộng”, cả 3 dạng
người trên đều có thể truy cập (đi vào) vào căn phòng này, còn có thể hiểu thêm là căn phòng này
có thể được truy cập từ 3 dạng người trên. Tương tự như thế, với căn
phòng loại “Nội bộ”, chỉ Thư ký và Tổng giám đốc có khả năng truy cập vào căn
phòng đó, còn Nhân viên “không được phép” truy cập vào căn phòng. Và cứ như thế…
Phân quyền truy cập
(Access modifier) một căn phòng
Ở
đây, Access modifier được áp dụng lên căn phòng, tùy vào loại của nó mà các dạng
người có thể truy cập vào.
Quay
trở lại lập trình hướng đối tượng, ta có định nghĩa sau: Access modifier là “mức
độ truy cập” (cho phép những thành phần khác đi vào nó) của các class, method,
constructor, field. Có thể hiểu căn phòng chính là các class, method,
constructor, field; còn các nhân viên là các đoạn mã từ các thành phần khác truy
cập vào. Các phép gọi hàm, gọi biến,.. cũng là một cách để truy cập sang nơi mình
gọi.
Trong Java có 4 loại Access modifier:
1. Public
2. Protected
3. (Mặc
định)
4. Private
Tùy
vào nhu cầu mà người ta sẽ chọn các loại access modifier khác nhau, mục đích của
việc phân quyền truy cập thế này để làm tăng tính bảo mật hơn, việc phân chia cấp
độ rõ ràng hơn. Với những bài code đơn giản và chỉ mình bạn thì bạn có thể để public
toàn bộ tùy thích, không ai cấm việc đó. Tuy nhiên, khi làm việc nhóm, bạn sẽ
phải chú ý tới việc phân quyền để hạn chế sự xâm nhập từ người khác hơn. Cũng giống
như việc nếu bạn sống trong căn nhà một mình trên Trái Đất thì bạn thích làm gì
cũng được, nhưng nếu như có những người xung quanh bạn, dĩ nhiên bạn không thể
thản nhiên để nhà mở cửa như thế được, phải có sự phân quyền rõ ràng: Người
quen, bạn bè được vào nhà; người lạ không được vào nhà.
Trên
đây mình tập trung giải thích rõ ràng về Access modifier để các bạn có cái nhìn
rõ ràng hơn về nó. Còn về cú pháp cũng như cách sử dụng, các bạn có thể tham khảo ở
các bài viết khác của các tác giả khác.
Nội dung bài viết thuộc
về Lê Công Diễn.
Người
viết: Lê Công Diễn
Mang
đi nhớ ghi nguồn
Nhận xét
Đăng nhận xét