Мадыфікатар private у TypeScript

Мадыфікатар private ужываецца ў тых выпадках, калі трэба зачыніць доступ да ўласцівасцей і метадаў звонку класа. Пры гэтым нават у класах-нашчадках нельга будзе звярнуцца да дадзеных уласцівасцей.

Давайце паглядзім на прыкладзе. Зробім у класе User прыватную ўласцівасць name:

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

Стварым аб'ект класа, перадаўшы ў канструктар значэнне нашай уласцівасці:

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

Цяпер спроба прачытаць гэтую прыватную ўласцівасць звонку класа прывядзе да памылкі:

typescriptconsole.log(user.name); // памылка

Таксама да памылкі прывядзе і спроба запісаць што-небудзь у гэтую ўласцівасць звонку класа:

typescriptuser.name = 'eric'; // памылка

А вось унутры метадаў класа можна будзе як чытаць, так і змяняць значэнне нашай прыватнай уласцівасці:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // прачытаем уласцівасць
  }
  
  public setName(name: string) {
    this.name = name; // запішам новае значэнне ўласцівасці
  }
}
Задание 1

Зрабіце клас User, які змяшчае прыватныя ўласцівасці з імем і ўзростам. Хай іх пачатковыя значэнні задаюцца праз канструктар.

Задание 2

У вашым класе User зрабіце публічныя метады getName і getAge, якія дазваляюць атрымаць значэнні адпаведных прыватных уласцівасцей.

Задание 3

У вашым класе User зрабіце публічныя метады setName і setAge, якія дазваляюць змяніць значэнні адпаведных прыватных уласцівасцей.