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