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

Bài đăng phổ biến từ blog này

Deploy project Springboot MIỄN PHÍ sử dụng Render

Ứng dụng Mã hóa bất đối xứng (Asymmetric cryptography) vào Chữ ký số (Digital Signature)

API và HTTP - Một số khái niệm cơ bản cần biết về Web (Phần 2)