TypeScript-тегі private модификаторы

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 жария әдістерін жасаңыз, олар сәйкес приваттік қасиеттердің мәндерін өзгертуге мүмкіндік береді.