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:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Sukurkime klasės objektą, perduodantį į konstruktorių mūsų savybės reikšmę:
let user: User = new User('john');
Dabar bandymas perskaityti šią privačią savybę už klasės ribų sukels klaidą:
console.log(user.name); // klaida
Klaidą sukels ir bandymas įrašyti ką nors į šią savybę iš už klasės ribų:
user.name = 'eric'; // klaida
Tačiau klasės metoduose bus galima ir skaityti, ir keisti mūsų privataus property reikšmę:
class 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ę
}
}
Sukurkite klasę User, kurioje yra
privačios savybės su vardu ir amžiumi.
Tegul jų pradinės reikšmės nustatomos per
konstruktorių.
Jūsų User klasėje sukurkite viešuosius
metodus getName ir getAge,
leidžiančius gauti atitinkamų
privačių savybių reikšmes.
Jūsų User klasėje sukurkite viešuosius
metodus setName ir setAge,
leidžiančius pakeisti atitinkamų
privačių savybių reikšmes.