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, რომლებიც საშუალებას მისცემენ შეცვალოთ შესაბამისი პრივატური თვისებების მნიშვნელობები.