Statiskās īpašības TypeScript
Apskatīsim, kā piekļūt statiskajām īpašībām objektu iekšienē.
Pieņemsim, ka mums ir šāda klase ar statisku īpašību:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
}
Tagad izveidosim metodi, kas izvada kopējo algu:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary; // piekļūstam pēc klases nosaukuma
}
}
Tagad izveidosim metodi, kas maina kopējo algu:
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;
}
}
Statiskās īpašības būs kopīgas dažādiem objektiem. Tas nozīmē, ka, mainot īpašību vienā objektā, tā mainīsies arī otrā. Pārbaudīsim to.
Izveidosim divus mūsu klases objektus:
let user1: User = new User('john');
let user2: User = new User('eric');
Mainīsim algu pirmajam lietotājam:
user1.setSalary(2000);
Pārbaudīsim, vai alga ir mainījusies arī otrajam lietotājam:
console.log(user2.getSalary()); // 2000
Pārbaudīsim, vai alga ir mainījusies arī pašas klases īpašībā:
console.log(User.salary); // 2000
Klasē Student pievienojiet statisko
īpašību university. Izvadiet šo
īpašību bez objekta deklarēšanas.