Modifikatorius private TypeScript kalboje

Modifikatorius private naudojamas tais atvejais, kai reikia uždrausti prieigą prie savybių ir metodų iš už klasės ribų. Tuo atveju net ir paveldėtose klasėse nebus galima kreiptis į šias savybes.

Pažiūrėkime pavyzdžiu. Sukurkime klasėje User privačią savybę name:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

Sukurkime klasės objektą, perduodantį į konstruktorių mūsų savybės reikšmę:

typescriptlet user: User = new User('john');

Dabar bandymas perskaityti šią privačią savybę už klasės ribų sukels klaidą:

typescriptconsole.log(user.name); // klaida

Klaidą sukels ir bandymas įrašyti ką nors į šią savybę iš už klasės ribų:

typescriptuser.name = 'eric'; // klaida

Tačiau klasės metoduose bus galima ir skaityti, ir keisti mūsų privataus property reikšmę:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // nuskaitysime savybę
  }
  
  public setName(name: string) {
    this.name = name; // įrašysime naują savybės reikšmę
  }
}
Задание 1

Sukurkite klasę User, kurioje yra privačios savybės su vardu ir amžiumi. Tegul jų pradinės reikšmės nustatomos per konstruktorių.

Задание 2

Jūsų User klasėje sukurkite viešuosius metodus getName ir getAge, leidžiančius gauti atitinkamų privačių savybių reikšmes.

Задание 3

Jūsų User klasėje sukurkite viešuosius metodus setName ir setAge, leidžiančius pakeisti atitinkamų privačių savybių reikšmes.