⊗jsOpBsGSA 18 of 60 menu

ข้อดีของ Setters และ Getters ใน OOP ใน JavaScript

ในบทเรียนที่แล้วเราได้สร้าง getter และ setter สำหรับ แต่ละคุณสมบัติ อาจมีคำถามว่า ทำไมต้องใช้ ความซับซ้อนดังกล่าว เพราะในทางปฏิบัติ สามารถบรรลุผลเดียวกันได้ หาก ทำให้คุณสมบัติเป็นสาธารณะ แทนที่จะเป็นส่วนตัว

ประเด็นคือ getters และ setters มี ข้อได้เปรียบ: ก่อนเข้าถึงคุณสมบัติ สามารถดำเนินการตรวจสอบบางอย่างได้ ตัวอย่างเช่น ในกรณีของเรา เมื่อเขียน ชื่อและนามสกุล เราสามารถตรวจสอบ ว่าค่าใหม่ไม่ใช่ สตริงว่าง:

class User { #name; #surn; setName(name) { if (name.length > 0) { this.#name = name; } else { throw new Error('name is incorrect'); } } setSurn(surn) { if (surn.length > 0) { this.#surn = surn; } else { throw new Error('surn is incorrect'); } } getName() { return this.#name; } getSurn() { return this.#surn; } }

มาทดสอบกันว่านี่ทำงานอย่างไร เริ่มต้นด้วยการสร้างออบเจ็กต์ของคลาส:

let user = new User;

ทีนี้ลองเขียน ค่าที่ถูกต้อง:

user.setName('john');

และตอนนี้ลองเขียน ค่าที่ไม่ถูกต้อง:

user.setName(''); // ข้อผิดพลาด

ในคลาส Employee ใน setter ของอายุ ให้ทำการตรวจสอบว่า อายุควรอยู่ระหว่าง 0 ถึง 120

ในคลาส Employee ใน getter ของเงินเดือน ให้ทำดังนี้ เมื่ออ่านเงินเดือน ในตอนท้ายของ ค่า ให้เพิ่มเครื่องหมายดอลลาร์

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ