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:
typescriptclass 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:
typescriptclass 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:
typescriptclass 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:
typescriptlet user1: User = new User('john');
let user2: User = new User('eric');
Ändern wir das Gehalt für den ersten Benutzer:
typescriptuser1.setSalary(2000);
Prüfen wir, ob sich das Gehalt auch für den zweiten Benutzer geändert hat:
typescriptconsole.log(user2.getSalary()); // 2000
Prüfen wir, ob sich das Gehalt auch in der Eigenschaft der Klasse selbst geändert hat:
typescriptconsole.log(User.salary); // 2000
Fügen Sie der Klasse Student eine statische
Eigenschaft university hinzu. Geben Sie diese
Eigenschaft ohne Deklaration eines Objekts aus.