De private modifier in TypeScript

De modifier private wordt gebruikt in gevallen waarin toegang tot eigenschappen en methoden van buiten de klas moet worden afgesloten. Zelfs in afstammende klassen kan dan niet worden verwezen naar deze eigenschappen.

Laten we een voorbeeld bekijken. We maken een private eigenschap name in de klasse User:

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

Laten we een object van de klasse aanmaken, waarbij we de waarde van onze eigenschap doorgeven aan de constructor:

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

Nu zal een poging om deze private eigenschap buiten de klasse te lezen tot een fout leiden:

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

Ook een poging om van buiten de klasse iets in deze eigenschap te schrijven zal tot een fout leiden:

typescriptuser.name = 'eric'; // fout

Maar binnen de methoden van de klasse kan zowel de waarde van onze private eigenschap worden gelezen als gewijzigd:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // lezen we de eigenschap
  }
  
  public setName(name: string) {
    this.name = name; // schrijven we een nieuwe waarde voor de eigenschap
  }
}
Задание 1

Maak een klasse User, die private eigenschappen bevat voor naam en leeftijd. Laat hun beginwaarden worden ingesteld via de constructor.

Задание 2

Maak in je klasse User publieke methoden getName en getAge, die het mogelijk maken om de waarden van de corresponderende private eigenschappen op te halen.

Задание 3

Maak in je klasse User publieke methoden setName en setAge, die het mogelijk maken om de waarden van de corresponderende private eigenschappen te wijzigen.