# Coding Kata: Benutzerverwaltung mit TypeScript

## Ziel
Dieses Coding Kata hilft dir, **Klassen, Interfaces, Typen, Index-Signaturen und Type Aliase** in TypeScript praktisch zu üben. Du wirst eine einfache **Benutzerverwaltung** entwickeln.

## Aufgaben

### 1. Erstelle die Basisklasse `Person`
- Enthält `name` (string) und `age` (number).
- Methode `getInfo()`, die `"Name: [name], Alter: [age]"` zurückgibt.

### 2. Abgeleitete Klasse `Employee`
- Erbt von `Person`.
- Zusätzliche Eigenschaft `position` (string).
- Überschreibt `getInfo()`, um `position` hinzuzufügen.

### 3. Interface `IContact`
- Enthält `email` (string) und `phone` (string).
- Methode `getContactInfo()`, die die Kontaktinformationen als Zeichenkette zurückgibt.

### 4. Implementiere `IContact` in `Employee`
- `Employee` soll `IContact` implementieren.

### 5. Type Alias `EmployeeRecord`
- Definiert ein Objekt `{ id: number, data: Employee }`.

### 6. Klasse `Company` mit Index-Signatur
- Speichert `EmployeeRecords`, wobei `id` als Schlüssel dient.
- Methode `addEmployee(employee: Employee)`, die einen neuen Mitarbeiter hinzufügt.
- Methode `getEmployee(id: number)`, die einen Mitarbeiter anhand der ID zurückgibt.

## Bonus 
- Methode `removeEmployee(id: number)` hinzufügen.
- `Record<number, Employee>` als Alternative zur Index-Signatur nutzen.

## Zeitrahmen
⌛ **30 Minuten** für die Umsetzung.
