A private módosító TypeScript-ben
A private módosítót olyan esetekben alkalmazzuk,
amikor egy osztályon kívülről kell letiltani a
tulajdonságokhoz és metódusokhoz való hozzáférést.
Ebben az esetben még az leszármazott osztályokban sem
lehet majd hivatkozni ezekre a tulajdonságokra.
Nézzünk egy példát. Készítsünk egy privát name
tulajdonságot a User osztályban:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Hozzunk létre egy objektumot az osztályból, átadva a konstruktornak a tulajdonságunk értékét:
let user: User = new User('john');
Most a privát tulajdonság osztályon kívülről történő olvasására tett kísérlet hibához vezet:
console.log(user.name); // hiba
A tulajdonságba való írás osztályon kívülről szintén hibához vezet:
user.name = 'eric'; // hiba
Az osztály metódusain belül azonban lehetőség van a privát tulajdonságunk értékének olvasására és módosítására:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // elolvassuk a tulajdonságot
}
public setName(name: string) {
this.name = name; // új értéket írunk a tulajdonságba
}
}
Készítsen egy User osztályt, amely
privát tulajdonságokat tartalmaz a névhez és a korhoz.
Legyenek kezdeti értékeik a konstruktoron keresztül megadva.
A User osztályában készítsen getName és getAge
publikus metódusokat, amelyek lehetővé teszik a megfelelő
privát tulajdonságok értékeinek lekérését.
A User osztályában készítsen setName és setAge
publikus metódusokat, amelyek lehetővé teszik a megfelelő
privát tulajdonságok értékeinek módosítását.