typescript / intermediate
Snippet
Abstrakte Klassen für geteilte Logik
Abstrakte Klassen können nicht direkt instanziiert werden. Sie dienen als Vorlagen, die es ermöglichen, gemeinsame Methoden zu definieren, während Unterklassen gezwungen werden, spezifische 'abstrakte' Logik zu implementieren.
snippet.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
abstract class Shape {constructor(public color: string) {}abstract getArea(): number;printColor() {console.log(`Color: ${this.color}`);}}class Circle extends Shape {constructor(color: string, private radius: number) {super(color);}getArea() { return Math.PI * this.radius ** 2; }}
Erklärung
1
abstract getArea(): number;
Definiert eine Methodensignatur, die von jeder nicht-abstrakten Kindklasse implementiert werden muss.
2
printColor() { ... }
Eine konkrete Methode, die vererbt wird und von allen Unterklassen verwendet werden kann.