GiaoTrinhC++(27Jun21)

(Hoang2711) #1

Thiết kế trang Web


50 • Ông Văn Thông


Ví dụ: #include
using namespace std;
class myspec {
public: int x; // thuộc tính x là public
private: int y; }; // thuộc tính y là private
int main() {
myspec myvar ;
myvar.x = 250; // cho phép (vì x là public)
cout << myvar.x << " this is public";
//myvar.y = 500; // không cho phép (vì y là private)
//cout << myvar.y << " this is private"; // không được (vì y là private)
return 0 ; }
Kết quả: 250 this is public


Ví dụ: #include
using namespace std;
class myspec {
public: int x; // thuộc tính x là public
private: int y; }; // thuộc tính y là private
int main() {
myspec myvar ; // myvar.x = 250;
// allowed (x is public)
//cout << myvar.x << " this is public";
myvar.y = 500; // không cho phép (vì y là private)
cout << myvar.y << " this is private"; // không được (vì y là private)
return 0 ; }
Kết quả: error: 'int myspec::y' is private within this context


Lưu ý: Có thể truy cập các thành viên private của một class bằng public method (phương thức
public) trong cùng một class, xem chương Encapsulation tiếp theo về cách thực hiện việc này.


Một kinh nghiệm thực hành tốt là nên khai báo các thuộc tính class của bạn là private (thường
xuyên nhất có thể). Điều này giúp làm giảm khả năng chính bạn (hoặc những người khác) làm
hỏng chương trình. Đây cũng là thành phần chính của khái niệm Encapsulation (đóng gói), mà
bạn sẽ tìm hiểu tiếp theo.


ĐÓNG GÓI C++ ENCAPSULATION



  1. Encapsulation


Ý nghĩa của đóng gói, là đảm bảo rằng dữ liệu "nhạy cảm" bị ẩn khỏi người dùng. Để đạt được
điều này, bạn phải khai báo các biến/thuộc tính class là private (không thể truy cập từ bên ngoài
class). Nếu bạn muốn người khác đọc hoặc sửa đổi giá trị của một thành viên private, bạn có thể
cung cấp các phương thức public dùng để set (gán) và get (nhận) trị của thành viên đó.



  1. Truy cập thành viên private


Để truy cập được các thuộc tính private của class, hãy sử dụng các phương thức public là "set"
(dùng gán trị cho thuộc tính) và "get" (nhận trị của thuộc tính).

Free download pdf