Modifikátor private v TypeScript
Modifikátor private se používá v
případech, kdy je potřeba znepřístupnit přístup k
vlastnostem a metodám zvenčí třídy. Přitom
ani v potomních třídách nebude možné
přistupovat k těmto vlastnostem.
Podívejme se na příklad. Vytvořme ve
třídě User privátní vlastnost
name:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Vytvořme objekt třídy, předáním do konstruktoru hodnotu naší vlastnosti:
let user: User = new User('john');
Nyní pokus o přečtení této privátní vlastnosti mimo třídu povede k chybě:
console.log(user.name); // chyba
K chybě povede i pokus o zápis něčeho do této vlastnosti zvenčí třídy:
user.name = 'eric'; // chyba
Zato uvnitř metod třídy bude možné jak číst, tak měnit hodnotu naší privátní vlastnosti:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // přečteme vlastnost
}
public setName(name: string) {
this.name = name; // zapíšeme novou hodnotu vlastnosti
}
}
Vytvořte třídu User, obsahující
privátní vlastnosti s jménem a věkem.
Nechť jejich počáteční hodnoty jsou zadány přes
konstruktor.
Ve vaší třídě User vytvořte veřejné
metody getName a getAge,
umožňující získat hodnoty odpovídajících
privátních vlastností.
Ve vaší třídě User vytvořte veřejné
metody setName a setAge,
umožňující změnit hodnoty odpovídajících
privátních vlastností.