Modyfikator private w TypeScript
Modyfikator private jest stosowany w
przypadkach, gdy trzeba zamknąć dostęp do
właściwości i metod na zewnątrz klasy. Przy
czym nawet w klasach-dziedzicach nie będzie można
odwołać się do tych właściwości.
Spójrzmy na przykład. Stwórzmy w
klasie User prywatną właściwość
name:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Stwórzmy obiekt klasy, przekazując do konstruktora wartość naszej właściwości:
let user: User = new User('john');
Teraz próba odczytania tej prywatnej właściwości poza klasą doprowadzi do błędu:
console.log(user.name); // błąd
Również do błędu doprowadzi i próba zapisania czegoś do tej właściwości na zewnątrz klasy:
user.name = 'eric'; // błąd
A wewnątrz metod klasy będzie można zarówno odczytywać, jak i zmieniać wartość naszej prywatnej właściwości:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // odczytamy właściwość
}
public setName(name: string) {
this.name = name; // zapiszemy nową wartość właściwości
}
}
Stwórz klasę User, zawierającą
prywatne właściwości z imieniem i wiekiem.
Niech ich początkowe wartości będą ustawiane przez
konstruktor.
W twojej klasie User stwórz publiczne
metody getName i getAge,
pozwalające uzyskać wartości odpowiednich
prywatnych właściwości.
W twojej klasie User stwórz publiczne
metody setName i setAge,
pozwalające zmienić wartości odpowiednich
prywatnych właściwości.