Privat modifikator i TypeScript

Modifikatoren private anvendes i tilfælde, hvor det er nødvendigt at lukke adgang til egenskaber og metoder udefra klassen. På samme tid, selv i underklasser, vil det være umuligt at tilgå disse egenskaber.

Lad os se på et eksempel. Lad os lave en privat egenskab name i klassen User:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

Lad os oprette et objekt af klassen ved at sende værdien af vores egenskab til konstruktøren:

typescriptlet user: User = new User('john');

Nu vil et forsøg på at læse denne private egenskab uden for klassen føre til en fejl:

typescriptconsole.log(user.name); // fejl

Et forsøg på at skrive noget til denne egenskab uden for klassen vil også føre til en fejl:

typescriptuser.name = 'eric'; // fejl

Men inde i klassens metoder vil det være muligt at både læse og ændre værdien af vores private egenskab:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // læser egenskaben
  }
  
  public setName(name: string) {
    this.name = name; // skriver en ny værdi til egenskaben
  }
}
Задание 1

Lav en klasse User, der indeholder private egenskaber med navn og alder. Lad deres startværdier blive angivet via konstruktøren.

Задание 2

I din klasse User skal du lave offentlige metoder getName og getAge, der gør det muligt at få værdierne af de tilsvarende private egenskaber.

Задание 3

I din klasse User skal du lave offentlige metoder setName og setAge, der gør det muligt at ændre værdierne af de tilsvarende private egenskaber.