Access specifier က class member တွေကို ဘယ်နေရာကနေ access လုပ်ခွင့်ရှိလဲ သတ်မှတ်ပေးပါတယ်။ public ကို class အပြင်ဘက်က access လုပ်နိုင်ပြီး private ကို class အတွင်းက method တွေကသာ access လုပ်နိုင်ပါတယ်။ ဒါက data ကို မလိုအပ်ဘဲ တိုက်ရိုက်ပြောင်းမိတာကနေ ကာကွယ်ပေးပါတယ်။
cpp
#include <iostream>
using namespace std;
class BankAccount {
private:
double balance;
public:
BankAccount(double startBalance) {
balance = startBalance;
}
void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
double getBalance() {
return balance;
}
};
int main() {
BankAccount account(100);
account.deposit(50);
cout << account.getBalance();
return 0;
}balance ကို private ထားပြီး အပြင်ကနေ တိုက်ရိုက်ပြောင်းခွင့်မပေးထားပါ။ Deposit လုပ်ချင်ရင် deposit() method မှတစ်ဆင့်ပဲ လုပ်ရတာကြောင့် amount မှန်/မမှန် စစ်နိုင်ပါတယ်။
You should see
150Info
ဒါကို encapsulation လို့ခေါ်ပါတယ်။ Data ကို class ထဲမှာ ထိန်းပြီး public methods မှတစ်ဆင့် safe access ပေးတာပါ။