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:
class 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:
let user: User = new User('john');
Nu zal een poging om deze private eigenschap buiten de klasse te lezen tot een fout leiden:
console.log(user.name); // fout
Ook een poging om van buiten de klasse iets in deze eigenschap te schrijven zal tot een fout leiden:
user.name = 'eric'; // fout
Maar binnen de methoden van de klasse kan zowel de waarde van onze private eigenschap worden gelezen als gewijzigd:
class 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
}
}
Maak een klasse User, die
private eigenschappen bevat voor naam en leeftijd.
Laat hun beginwaarden worden ingesteld via
de constructor.
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.
Maak in je klasse User publieke
methoden setName en setAge,
die het mogelijk maken om de waarden van de corresponderende
private eigenschappen te wijzigen.