Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Access Specifiers

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

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
150

Info

ဒါကို encapsulation လို့ခေါ်ပါတယ်။ Data ကို class ထဲမှာ ထိန်းပြီး public methods မှတစ်ဆင့် safe access ပေးတာပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Attribute အားလုံးကို public ထားတာက အစပိုင်းလွယ်ပေမယ့် project ကြီးလာရင် bug ဖြစ်လွယ်ပါတယ်။ Sensitive data တွေကို private ထားပါ။
Access Specifiers | Thuta Learning