# Accessibility in OOP Concept: ความสำคัญและการใช้ง่ายๆใน JavaScript
การเขียนโปรแกรมแบบวัตถุที่เราเรียกว่า Object-Oriented Programming (OOP) นั้น มีหลักการหนึ่งที่สำคัญมากคือ Accessibility หรือการกำหนดขอบเขตการเข้าถึง (Access Control) ต่อสมาชิกหรือตัวแปรภายในวัตถุ เช่น ตัวแปรและฟังก์ชัน ซึ่งเป็นการรักษาหลักการของการซ่อนข้อมูล (Encapsulation) และความปลอดภัยของข้อมูลที่สำคัญทำให้โปรแกรมมีโครงสร้างที่เข้มแข็งและป้องกันการเกิดข้อผิดพลาดที่อาจเกิดจากการเข้าถึงได้ไม่ถูกต้อง
ภาษา JavaScript ในแง่มุมของ OOP กำหนด Accessibility ผ่านประเภทของตัวแปรหรือฟังก์ชันเหล่านั้น มี 3 ประเภทหลัก:
1. Public: สมาชิกที่สามารถเข้าถึงได้จากทุกที่ แม้จากนอกวัตถุ 2. Private: สมาชิกที่สามารถเข้าถึงได้เฉพาะภายในวัตถุเท่านั้น 3. Protected: สมาชิกที่สามารถเข้าถึงได้ภายในวัตถุและในวัตถุที่มาจากการสืบทอด
ตัวอย่างที่ 1: Public Properties
class Person {
constructor(name) {
this.name = name; // Public Property
}
introduce() {
console.log(`Hello, my name is ${this.name}`);
}
}
let john = new Person("John");
john.introduce(); // Hello, my name is John
// เข้าถึง property แบบ public จากนอก class
console.log(john.name); // John
ในตัวอย่างนี้ `name` เป็น property แบบ public ที่สามารถเข้าถึงได้ไม่จำกัด ทำให้เราสามารถเรียกและเปลี่ยนแปลงค่าจากนอกวัตถุได้โดยตรง
ตัวอย่างที่ 2: Private Properties
class BankAccount {
#balance; // Private Property
constructor(balance) {
this.#balance = balance;
}
deposit(amount) {
if (amount > 0) {
this.#balance += amount;
console.log(`Deposited: $${amount}. Total balance: $${this.#balance}.`);
}
}
withdraw(amount) {
if (amount <= this.#balance) {
this.#balance -= amount;
console.log(`Withdrawn: $${amount}. Total balance: $${this.#balance}.`);
} else {
console.log("Insufficient balance.");
}
}
}
let account = new BankAccount(1000);
account.deposit(500); // Deposited: $500. Total balance: $1500.
account.withdraw(200); // Withdrawn: $200. Total balance: $1300.
// เข้าถึง property แบบ private จากนอก class ไม่ได้
console.log(account.#balance); // SyntaxError
ในตัวอย่างนี้ `balance` เป็น property แบบ private ที่มีการใช้ # นำหน้า ซึ่งไม่สามารถเข้าถึงจากนอก class `BankAccount` ผลทำให้ความปลอดภัยของสถานะของบัญชีเพิ่มขึ้น ไม่สามารถแกไขโดยตรงจากภายนอกได้
Accessibility ในแนวคิด OOP ถือเป็นหัวใจหลักในการจัดสร้างโปรแกรมที่มีโครงสร้างที่ดีและปลอดภัย การเข้าใจและใช้งานให้ถูกต้องจะช่วยปรับปรุงคุณภาพของโค้ดได้มาก
หากคุณต้องการเรียนรู้เกี่ยวกับ OOP หรือใช้การเขียนโปรแกรมอย่างมีคุณภาพ ขอแนะนำให้มาเรียนที่ EPT ที่ไม่เพียงแค่สอนคุณให้เขียนโค้ด แต่ยังสอนคุณให้เข้าใจหลักการที่สำคัญและวิธีการประยุกต์ใช้ในโลกจริงให้ได้ผลลัพธ์ที่ดีที่สุด!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: accessibility oop_concept javascript encapsulation access_control public_properties private_properties protected_properties object-oriented_programming class inheritance methods properties web_api bankaccount
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com