Vetitë Statike në TypeScript
Le të shohim se si t'i referohemi vetive statike brenda objekteve.
Supozoni se kemi klasën e mëposhtme me veti statike:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
}
Tani le të krijojmë një metodë që shfaq pagën totale:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary; // i referohemi me emrin e klasës
}
}
Tani le të krijojmë një metodë që ndryshon pagën totale:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary;
}
setSalary(salary: number) {
User.salary = salary;
}
}
Vetitë statike do të jenë të përbashkëta për objekte të ndryshme. Kjo do të thotë se kur vetia ndryshohet në një objekt, ajo do të ndryshohet edhe në tjetrin. Le ta verifikojmë këtë.
Le të krijojmë dy objekte të klasës sonë:
let user1: User = new User('john');
let user2: User = new User('eric');
Le të ndryshojmë pagën për përdoruesin e parë:
user1.setSalary(2000);
Le të kontrollojmë nëse paga ka ndryshuar edhe për përdoruesin e dytë:
console.log(user2.getSalary()); // 2000
Le të kontrollojmë nëse paga ka ndryshuar edhe në vetinë e vetë klasës:
console.log(User.salary); // 2000
Në klasën Student shtoni një veti statike
university. Shfaqeni këtë veti pa deklaruar objekt.