JavaScript OOP'de Kalıtımda Private Metotlar

Private metotlar kalıtım yoluyla aktarılmaz. Bu, kapsüllemeyi ihlal etmemek için özellikle yapılmıştır. Bir örnek üzerinden inceleyelim. Aşağıdaki gibi private bir metoda sahip bir ebeveyn sınıfımız olduğunu varsayalım:

javascriptclass User {
  setName(name) {
    this.name = name;
  }
  getName() {
    return this.#capeFirst(this.name);
  }
  
  #capeFirst(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Ebeveyn sınıftan aşağıdaki sınıfın türediğini varsayalım:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.surn;
  }
}

Alt sınıfın, ebeveynin private metodunu kullanmak istediğini varsayalım. JavaScript buna izin vermeyecek ve bir hata verecektir:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // hata verecek
  }
}
Задание 1

Employee sınıfında ebeveynin private metodunu kullanmayı deneyin.