การเขียนโปรแกรมแบบวัตถุนั้นเป็นหัวใจหลักของภาษาโปรแกรมมิ่งหลายภาษา และหนึ่งในนั้นคือ C++. ในการเขียนโปรแกรมแบบ Object-Oriented Programming (OOP), ความสามารถในการจำกัดการเข้าถึง (Accessibility) นั้นมีความสำคัญเพราะช่วยให้นักพัฒนาสามารถควบคุมการเข้าถึงข้อมูลและการดำเนินการ (Encapsulation) ของวัตถุได้ เพื่อความปลอดภัยและการนำไปใช้ให้เหมาะกับบริบทของการใช้งาน.
ใน C++ มีวิธีการกำหนดสิทธิ์การเข้าถึงข้อมูลของ class ได้แก่ public, protected และ private.
- `Public`: สามารถเข้าถึงได้จากทุกที่
- `Protected`: สามารถเข้าถึงได้ภายใน class และ subclasses
- `Private`: สามารถเข้าถึงได้เฉพาะภายใน class เท่านั้น
สำหรับการใช้งาน Accesibility ใน C++ ลองดูตัวอย่างของ class ที่มีชื่อว่า `BankAccount`.
class BankAccount {
private:
double balance; // ยอดเงินในบัญชี
public:
BankAccount(double initialBalance) : balance(initialBalance) {}
void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
double getBalance() const {
return balance;
}
};
int main() {
BankAccount account(1000); // เริ่มต้นด้วยยอดเงิน 1000
account.deposit(500); // ฝากเงินเพิ่ม 500
double currentBalance = account.getBalance(); // ดูยอดเงินปัจจุบัน
// account.balance = 1000; // จะผิดพลาด ไม่สามารถเข้าถึง balance ได้ตรงๆ เพราะเป็น private
return 0;
}
จากตัวอย่างนี้, เราจะเห็นว่ายอดเงิน (balance) ใน `BankAccount` เป็นตัวแปร private ซึ่งหมายความว่าไม่สามารถเข้าถึงได้โดยตรงจากฟังก์ชัน `main`. การฝากเงินทำผ่านฟังก์ชัน `deposit` ที่เป็น public. ยอดเงินสามารถเข้าถึงได้ผ่านฟังก์ชัน `getBalance` เท่านั้น.
1. ระบบ User Authentication
ตัวอย่างของการใช้ Accesibility คือระบบ authentication บางส่วนจะต้องทำความเข้าใจในการซ่อนข้อมูลบางอย่าง เช่น รหัสผ่าน ซึ่งเป็น private และไม่ควรให้เข้าถึงได้โดยตรง แต่อาจมี method ที่เป็น public เพื่อตรวจสอบความถูกต้องของรหัสผ่าน.
class User {
private:
std::string passwordHash;
public:
bool authenticate(const std::string& password) {
// ตรวจสอบรหัสผ่าน รหัสผ่านจะถูก hash และเทียบกับ passwordHash
}
};
2. การจัดการสินค้าภายในระบบ Inventory
ระบบ Inventory อาจจะมีการจัดทำข้อมูลสินค้าทั้งหมดให้เป็น private เพื่อป้องกันไม่ให้ข้อมูลนั้นๆ ถูกแก้ไขอย่างไม่เหมาะสม และทำให้ระบบสามารถควบคุม method ที่เป็น public เพื่อเข้าถึงหรืออัพเดทข้อมูลของสินค้าได้.
class InventoryItem {
private:
int stock; // จำนวนสินค้าในสต๊อก
public:
void restock(int amount) {
// เพิ่มจำนวนสินค้าในสต๊อก
}
bool sellItem() {
// ลดจำนวนสินค้าในสต๊อกเมื่อขายสินค้า
}
};
ในการเรียนรู้การเขียนโปรแกรมที่ EPT นั้น เราจะลงลึกไปถึงหลักการและแนวคิดต่างๆ ที่เป็นพื้นฐานของการโปรแกรมมิ่ง ไม่ว่าจะเป็นในด้าน OOP, โครงสร้างข้อมูล, หรือแม้แต่ algorithm ขั้นพื้นฐาน การฝึกฝนกับตัวอย่างจริงและโค้ดที่ใช้งานได้จริงช่วยให้นักเรียนเข้าใจการทำงานและการประยุกต์ใช้แนวคิดเหล่านี้ได้อย่างลึกซึ้ง. EPT ยินดีต้อนรับทุกคนที่มีใจรักในการเขียนโปรแกรมเพื่อเปิดโลกขอบฟ้าแห่งการพัฒนาซอฟต์แวร์ที่มีคุณภาพ.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM