typescript / intermediate
Snippet
Domänenmodellierung mit abstrakten Klassen und geschützten Methoden-Hooks
Abstrakte Klassen ermöglichen es Entwicklern, Vertragsstrukturen und gemeinsam genutzte Hilfsmethoden in objektorientiertem TypeScript zu definieren. Unterklassen überschreiben abstrakte Elemente und erben gleichzeitig Standardfunktionalitäten.
snippet.ts
typescript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
abstract class DataExporter {public export(data: object[]): string {const formatted = this.formatData(data);return this.wrapOutput(formatted);}protected abstract formatData(data: object[]): string;protected wrapOutput(content: string): string {return `--- START ---${content}--- END ---`;}}class CsvExporter extends DataExporter {protected formatData(data: object[]): string {return data.map(row => Object.values(row).join(",")).join("\n");}}
Erklärung
1
abstract class DataExporter {
Definiert eine abstrakte Basisklasse, die nicht direkt instanziiert werden kann.
2
protected abstract formatData(data: object[]): string;
Deklariert eine abstrakte Methode, die von abgeleiteten Klassen implementiert werden muss.
3
protected wrapOutput(content: string): string {
Bietet eine wiederverwendbare Standardimplementierung, auf die Unterklassen zugreifen können.