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:
class 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:
let 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:
console.log(user.name); // fejl
Et forsøg på at skrive noget til denne egenskab uden for klassen vil også føre til en fejl:
user.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:
class 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
}
}
Lav en klasse User, der
indeholder private egenskaber med navn og alder.
Lad deres startværdier blive angivet via
konstruktøren.
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.
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.