TypeScript-däki private modifikatory
private modifikatory klasynyň daşyndan aýratynlyklara we metotlara girişi ýapmak zerur bolan ýagdaýlarda ulanylýar. Şonda hem ösýän klaslara bu aýratynlyklara ýüz tutup bolmaýar.
Mysal üçin serediň. Klasda User hususy aýratynlyk name döredeliň:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Konstruktora aýratynlykymyzyň bahasyny geçirip, klasyň obýektini dörediň:
let user: User = new User('john');
Indi bu hususy aýratynlygy klasyň daşyndan okamaga synanyşyk säwlik döreder:
console.log(user.name); // säwlik
Şeýle hem, bir zat ýazmaga synanyşyk klasyň daşyndan bu aýratynlyga säwlik döreder:
user.name = 'eric'; // säwlik
Emma klas metotlarynyň içinde bolsa, hususy aýratynlyklarymyzyň bahasyny hem okap, hem üýtgedip bolýar:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // aýratynlygy okarys
}
public setName(name: string) {
this.name = name; // aýratynlygyň täze bahasyny ýazarys
}
}
User klasyny ýasaň, onuň içinde ad we ýaş bilen baglanyşykly hususy aýratynlyklar bolsun. Olaryň başlangyç bahalary konstruktor arkaly kesgitlensin.
Siziň User klasiňyzde getName we getAge adynda umumy metotlar ýasaň, olar degişli hususy aýratynlyklaryň bahalaryny almagy bermeli.
Siziň User klasiňyzde setName we setAge adynda umumy metotlar ýasaň, olar degişli hususy aýratynlyklaryň bahalaryny üýtgetmäge mümkinçilik bermeli.