Constructor khi kế thừa trong OOP JavaScript

Khi kế thừa, bạn có thể ghi đè constructor của lớp cha. Hãy xem ví dụ. Giả sử chúng ta có lớp cha sau:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  getName() {
    return this.name;
  }
  getSurn() {
    return this.surn;
  }
}

Giả sử lớp sau kế thừa từ lớp cha:

javascriptclass Student extends User {
  
}

Giả sử chúng ta muốn trong lớp con mở rộng constructor, thêm vào đó các tham số bổ sung:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    
  }
}

Trong trường hợp này, chúng ta bắt buộc phải gọi constructor của lớp cha bằng super ở dòng đầu tiên:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super();
  }
}

Lệnh super về bản chất là constructor của lớp cha. Vì vậy, hãy truyền vào nó các tham số cần thiết:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
  }
}

Bây giờ, trong lớp con, hãy ghi năm học vào thuộc tính riêng của lớp con:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
}

Hãy tạo getter cho năm học:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
  
  getYear() {
    return this.year;
  }
}
Задание 1

Giả sử lớp Employee kế thừa từ lớp User trong bài học này.

Задание 2

Hãy ghi đè constructor của lớp cha trong lớp Employee, thêm vào đó tham số tuổi và lương.

Задание 3

Hãy tạo getter cho tuổi và lương.