# Модификатор 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`, позволяющие изменить значения соответствующих приватных свойств.

← →
↑