⊗jsOpIhOPM 31 of 60 menu

การแทนที่เมธอดของคลาสแม่ใน OOP ใน JavaScript

คลาสลูกสามารถแทนที่เมธอดของคลาสแม่ได้ โดยการสร้างเมธอดที่มีชื่อเดียวกัน ลองดูตัวอย่าง สมมติว่าเรามีคลาสแม่ดังนี้:

class User { setName(name) { this.name = name; } getName() { return this.name; } }

ลองสร้างเมธอดชื่อเดียวกันในคลาสลูก:

class Student extends User { setName(name) { } }

โดยทั่วไป การแทนที่เมธอดของคลาสแม่ ทำเพื่อเปลี่ยนหรือเพิ่มพฤติกรรมของเมธอดนั้น ในกรณีนี้ลองเพิ่มการตรวจสอบความยาวของชื่อ:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('student name error'); } } }

ลองมาทดสอบว่าเมธอดที่ถูกเรียกคือเมธอดที่ถูกแทนที่จริง เริ่มต้นด้วยการสร้างอ็อบเจ็กต์ของคลาสลูก:

let student = new Student;

ตอนนี้เรียกเมธอดของเรา โดยส่งค่าที่ถูกต้องเข้าไป:

student.setName('john');

จากนั้นเรียกเมธอดโดยส่งค่า ที่ไม่ถูกต้องเข้าไป ผลลัพธ์เราจะเห็นข้อผิดพลาดที่ถูกโยนขึ้นในคอนโซล:

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

ในคลาส User จงสร้าง เก็ตเตอร์และเซ็ตเตอร์สำหรับอายุ

ในคลาส Employee จงแทนที่ เซ็ตเตอร์สำหรับอายุและเพิ่มการตรวจสอบว่า อายุอยู่ระหว่าง 18 ถึง 65 ปี

ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ