Sobes.tech
Middle

¿Cómo acceder a un atributo de clase desde fuera: para leerlo o modificarlo? ¿Cómo limitar el acceso directo?

sobes.tech AI

Respuesta de la IA

Для доступа к атрибуту класса извне обычно используют методы доступа — геттеры и сеттеры. Это позволяет контролировать чтение и изменение значения.

Пример на TypeScript:

class User {
  private _name: string;

  constructor(name: string) {
    this._name = name;
  }

  // Геттер для чтения
  get name(): string {
    return this._name;
  }

  // Сеттер для изменения
  set name(newName: string) {
    if (newName.length > 0) {
      this._name = newName;
    }
  }
}

const user = new User('Alice');
console.log(user.name); // чтение через геттер
user.name = 'Bob'; // изменение через сеттер

Чтобы ограничить прямой доступ к атрибуту, делают его приватным (private или protected), тогда напрямую к нему нельзя обратиться извне, только через методы класса.