Мадыфікатар private у TypeScript
Мадыфікатар private ужываецца ў
тых выпадках, калі трэба зачыніць доступ да
ўласцівасцей і метадаў звонку класа. Пры
гэтым нават у класах-нашчадках нельга будзе
звярнуцца да дадзеных уласцівасцей.
Давайце паглядзім на прыкладзе. Зробім у
класе User прыватную ўласцівасць
name:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Стварым аб'ект класа, перадаўшы ў канструктар значэнне нашай уласцівасці:
let user: User = new User('john');
Цяпер спроба прачытаць гэтую прыватную ўласцівасць звонку класа прывядзе да памылкі:
console.log(user.name); // памылка
Таксама да памылкі прывядзе і спроба запісаць што-небудзь у гэтую ўласцівасць звонку класа:
user.name = 'eric'; // памылка
А вось унутры метадаў класа можна будзе як чытаць, так і змяняць значэнне нашай прыватнай уласцівасці:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // прачытаем уласцівасць
}
public setName(name: string) {
this.name = name; // запішам новае значэнне ўласцівасці
}
}
Зрабіце клас User, які змяшчае
прыватныя ўласцівасці з імем і ўзростам.
Хай іх пачатковыя значэнні задаюцца праз
канструктар.
У вашым класе User зрабіце публічныя
метады getName і getAge,
якія дазваляюць атрымаць значэнні адпаведных
прыватных уласцівасцей.
У вашым класе User зрабіце публічныя
метады setName і setAge,
якія дазваляюць змяніць значэнні адпаведных
прыватных уласцівасцей.