Модификатор доступа private
в TypeScript используется для ограничения видимости члена класса. Этот модификатор обеспечивает то, что член класса может быть доступен только изнутри того класса, в котором он объявлен.
Возьмем для примера простой класс Car
, который имеет два свойства: private speed
и public maker
.
class Car {
private speed: number;
public maker: string;
constructor(speed: number, maker: string) {
this.speed = speed;
this.maker = maker;
}
getSpeed(): number {
return this.speed;
}
}
let carObj = new Car(120, 'Toyota');
console.log(carObj.getSpeed()); // выводит 120
console.log(carObj.maker); // выводит 'Toyota'
console.log(carObj.speed); // Ошибка: Свойство 'speed' является private и доступна только внутри класса 'Car'.
В приведенном выше примере свойство speed
объявлено как private
, поэтому когда мы пытаемся получить доступ к этому свойству извне класса, мы получаем ошибку. Однако при доступе к нему через публичный метод getSpeed
внутри класса, ошибки не возникает.
В объектно-ориентированном программировании (ООП), модификатор доступа private
играет важную роль в инкапсуляции, которая является одним из основных принципов ООП. Инкапсуляция позволяет скрывать внутренние детали реализации класса, показывая пользователям только то, что безопасно и необходимо.
В TypeScript, также доступны другие модификаторы доступа, такие как public
(доступен везде) и protected
(доступен в классе и его подклассах), но private
обеспечивает наибольшую степень сокрытия и ограничения доступа.