Модификатор 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, които позволяват промяната на стойностите на съответните частни свойства.