Statische Eigenschaften in TypeScript
Schauen wir uns an, wie man auf statische Eigenschaften innerhalb von Objekten zugreift.
Nehmen wir an, wir haben die folgende Klasse mit einer statischen Eigenschaft:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
}
Erstellen wir nun eine Methode, die das gesamte Gehalt ausgibt:
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary; // Zugriff über den Klassennamen
}
}
Erstellen wir nun eine Methode, die das gesamte Gehalt ändert:
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;
}
}
Statische Eigenschaften sind gemeinsame Eigenschaften für verschiedene Objekte. Das bedeutet, dass bei einer Änderung der Eigenschaft in einem Objekt, sie sich auch im anderen ändert. Prüfen wir das.
Erstellen wir zwei Objekte unserer Klasse:
let user1: User = new User('john');
let user2: User = new User('eric');
Ändern wir das Gehalt für den ersten Benutzer:
user1.setSalary(2000);
Prüfen wir, ob sich das Gehalt auch für den zweiten Benutzer geändert hat:
console.log(user2.getSalary()); // 2000
Prüfen wir, ob sich das Gehalt auch in der Eigenschaft der Klasse selbst geändert hat:
console.log(User.salary); // 2000
Fügen Sie der Klasse Student eine statische
Eigenschaft university hinzu. Geben Sie diese
Eigenschaft ohne Deklaration eines Objekts aus.