GiaoTrinhC++(27Jun21)

(Hoang2711) #1
Ngôn ngữ lập trình C++

Tin Học Cho Mọi Người • 51

Ví dụ: #include
using namespace std;
class nhvien { private: int luong; public: string tennv;
void setpay (int sotien) { luong = sotien; }
int getpay () { return luong; } };
int main() {
nhvien nv01;
nv01.tennv = "Le Dong"; nv01.setpay(300);
cout << nv01.tennv << " " << nv01.getpay();
return 0; }
Kết quả: Le Dong 300


Giải thích: Thuộc tính luong là private, nên quyền truy cập bị hạn chế.


Phương thức public setpay() nhận một tham số (sotien) và gán nó vào thuộc tính luong (luong
= sotien).


Phương thức public getpay() trả về giá trị của thuộc tính private luong.


Bên trong main(),ta tạo ra một object nv01 của class nhvien. Bây giờ chúng ta có thể sử dụng
phương thức setpay() để gán giá trị cho thuộc tính private luong thành 300. Sau đó, chúng ta gọi
phương thức getpay() trên đối tượng để trả về giá trị của thuộc tính private luong


Chuyện lương bổng thì không nên chọn kiểu dữ liệu integer như trên đây, mà nên chọn kiểu
float hoặc double để tính toán được với số thập phân. Mặt khác, phương thức "set" dùng gán trị
cho thuộc tính và "get" dùng nhận trị của thuộc tính, không ràng buộc gì với tên setpay, getpay
trên đây, chỉ là thuận miệng đặt cho gợi nghĩa thế thôi, tên đặt thế nào là tùy bạn. Ví dụ sau minh
họa dùng dữ liệu kiểu float cho lương và đặt tên phương thức không dựa vào set hay get:


Ví dụ: #include
using namespace std;
class nhvien { private: float luong; public: string tennv;
void nopvao (float sotien) { luong = sotien * 1.25; }
float lanhra () { return luong; } };
int main() {
nhvien nv01;
nv01.tennv = "Le Dong"; nv01.nopvao(345.56);
cout << nv01.tennv << " " << nv01.lanhra();
return 0; }
Kết quả: Le Dong 431.95



  1. Vì sao Encapsulation?



  • Encapsulation được xem là thực hành tốt để khai báo các thuộc tính của class là private
    (thường xuyên nhất có thể). Nó đảm bảo kiểm soát tốt hơn dữ liệu của bạn, bởi vì bạn
    (hoặc những người khác) có thể thay đổi một phần của mã mà không ảnh hưởng đến các
    phần khác

  • Tăng tính bảo mật của dữ liệu

Free download pdf