Cùm tìm hiểu về Access modifier trong C++ . Bạn sẽ biết ý nghĩa 3 kiểu Access modifier là public protected private trong C++ cũng như cách sử dụng chúng trong C++ sau bài học này.
Access modifier trong C++ là gì
Access modifier trong C++ là các toán tử có tác dụng chỉ định quyền truy cập đối với các biến và hàm thành viên có trong một class.
Nhờ có Access modifier mà chúng ta có thể quyết định việc một thành phần ở bên ngoài một class có thể truy cập tới các thành viên bên trong class hay không, qua đó bảo vệ được thông tin chứa trong class đó.
Có 3 kiểu Access modifier là public protected private trong C++, tương ứng với chúng là các quyền truy cập được mô tả như bảng dưới đây:
Toán tử | Từ trong class | Từ class kế thừa | Từ ngoài class |
---|---|---|---|
public | Có thể | Có thể | Có thể |
private | Có thể | Không thể | Không thể |
protected | Có thể | Có thể | Không thể |
Lưu ý trong chương trình, nếu chúng ta lược bỏ hoặc không chỉ rõ access modifier khi khai báo thành viên của lớp, thì mặc định access modifier Private sẽ được chỉ định.
Public trong C++
Public trong C++ là Access modifier có tác dụng chỉ định thành viên của class có thể được truy cập từ bất cứ đâu trong chương trình.
Public dịch sang tiếng Việt nghĩa là công khai, do vậy tất cả các thành viên của lớp được khai báo dưới dạng public sẽ có thể được truy cập từ bất cứ đâu trong chương trình. Ví dụ như từ bên trong class, bên ngoài class, hoặc trong một class và hàm khác chẳng hạn.
Ví dụ cụ thể, biến num
của class TestClass ở dạng public, do vậy nó không những có thể được truy cập và sử dụng từ các hàm bên trong clas, mà còn có thể được truy cập từ hàm func() nằm ngoài class:
|
Private trong C++
Private trong C++ là Access modifier có tác dụng chỉ định thành viên của class chỉ có thể được truy cập từ bên trong class mà thôi.
Private dịch sang tiếng Việt nghĩa là riêng tư, do vậy tất cả các thành viên của lớp được khai báo dưới dạng private sẽ được giấu đi với phần bên ngoài class, và chỉ có thể được truy cập từ các hàm thành viên trong class đó mà thôi.
Ví dụ cụ thể, biến num
của class TestClass ở dạng private, do vậy nó có thể được truy cập từ hàm bên trong class. Tuy nhiên nếu chúng ta cố truy cập nó từ hàm func() nằm ngoài class, lỗi sẽ bị xảy ra.
|
Lưu ý, nếu chúng ta lược bỏ hoặc không chỉ rõ access modifier khi khai báo thành viên của lớp, thì mặc định access modifier Private sẽ được chỉ định.
Nên cách khai báo biến private ở trên cũng có thể được viết như sau:
class TestClass |
Protect trong C++
Protect trong C++ là Access modifier có tác dụng chỉ định thành viên của class chỉ có thể được truy cập từ bên trong class và từ các class con (class kế thừa) mà thôi.
- Xem thêm: Kế thừa trong C++
Protect dịch sang tiếng Việt nghĩa là bảo vệ, do vậy tất cả các thành viên của lớp được khai báo dưới dạng protect sẽ được bảo vệ, và chỉ cho phép truy cập từ class cũng như các class con của nó mà thôi.
Ví dụ cụ thể, biến num
của class TestClass ở dạng protect, do vậy nó có thể được truy cập từ hàm bên trong class, cũng như từ class con của nó. Tuy nhiên nếu chúng ta cố truy cập nó từ hàm func() nằm ngoài class, lỗi sẽ bị xảy ra.
|
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về Access modifier trong class C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.
URL Link
HOME › lập trình c++ cơ bản dành cho người mới học lập trình>>28. hướng đối tượng trong c++