Модификатор private в TypeScript
Модификаторът private се прилага в
случаите, когато е необходимо да се ограничи достъпът до
свойства и методи отвън на класа. При
това дори в наследените класове няма да е възможно
да се обърнем към тези свойства.
Нека разгледаме пример. Нека създадем в
класа User частно свойство
name:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Нека създадем обект от класа, като предадем в конструктора стойността на нашето свойство:
let user: User = new User('john');
Сега опит за прочитане на това частно свойство извън класа ще доведе до грешка:
console.log(user.name); // грешка
Опит за записване на стойност в това свойство извън класа също ще доведе до грешка:
user.name = 'eric'; // грешка
Но вътре в методите на класа ще е възможно като четене, така и промяна на стойността на нашето частно свойство:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // прочитаме свойството
}
public setName(name: string) {
this.name = name; // записваме нова стойност на свойството
}
}
Създайте клас User, съдържащ
частни свойства за име и възраст.
Нека техните начални стойности да се задават чрез
конструктора.
Във вашия клас User създайте публични
методи getName и getAge,
които позволяват получаването на стойностите на съответните
частни свойства.
Във вашия клас User създайте публични
методи setName и setAge,
които позволяват промяната на стойностите на съответните
частни свойства.