คุณสมบัติส่วนตัวในการสืบทอดใน OOP ใน JavaScript

คุณสมบัติส่วนตัวไม่ถูกสืบทอด แต่คลาสลูกสามารถจัดการกับพวกมันได้ ผ่านเมธอดสาธารณะของคลาสแม่ มาลองดูในทางปฏิบัติกัน สมมติว่าเรามีคลาสแม่ดังต่อไปนี้ พร้อมกับคุณสมบัติส่วนตัวและ getter และ setter ของมัน:

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

ให้คลาสลูกสืบทอด จากคลาสแม่ดังต่อไปนี้:

javascriptclass Student extends User {
  
}

มาสร้างอ็อบเจ็กต์ของคลาสลูก:

javascriptlet student = new Student;

มาใช้เมธอดของคลาสแม่ เพื่อเขียนค่าลงในคุณสมบัติส่วนตัว ของมัน:

javascriptstudent.setName('john');

มาใช้เมธอดของคลาสแม่ เพื่ออ่านคุณสมบัติส่วนตัว ของมัน:

javascriptlet name = student.getName();
console.log(name);
Задание 1

มีคลาสแม่ดังต่อไปนี้:

javascriptclass User {
  #name;
  #surn;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
  
  setSurn(surn) {
    this.#surn = surn;
  }
  getSurn() {
    return this.#surn;
  }
}

สร้างคลาส Employee ที่จะสืบทอด จากคลาสแม่นี้

Задание 2

สร้างอ็อบเจ็กต์ของคลาส Employee และเรียก setter และ getter ที่สืบทอดมา

Задание 3

ในคลาส Employee สร้าง เมธอดต่อไปนี้:

javascriptgetFull() {
  return this.#name + ' ' + this.#surn;
}

ตรวจสอบให้แน่ใจว่าโค้ดในเมธอดจะนำไปสู่ ข้อผิดพลาด