-
Abstract Class / Interface
-
Geschachtelte Klassen
-
Konstanten und enums
-
Exception Handling
-
Generics
-
Collections
-
Lambda / Streams / Options
-
Dateien / Datenströme
-
Serialisierung
-
HTTP
- Swing UI für Shapes
- Frontend: Electron - Backend Java
- Beispiel: Account Savings
Eine Java-Anwendung zur Verwaltung von Personen, Studenten und Dozenten.
Das Projekt folgt einer klassischen dreischichtigen Architektur:
-
model/: Enthält die DatenmodellePerson.java: Basisklasse für alle PersonentypenStudent.java: Erweitert Person um studentenspezifische AttributeLecturer.java: Erweitert Person um dozentenspezifische Attribute
-
controller/: folgt noch -
app/: Enthält Anwendungsklassen zum Testen und DemonstrierenPersonApp.java: Demonstriert die Verwendung der Person-KlasseStudentApp.java: Demonstriert die Verwendung der Student-KlasseLecutrerApp.java: Demonstriert die Verwendung der Lecturer-Klasse
Vererbung ist ein fundamentales Konzept der objektorientierten Programmierung. In diesem Projekt wird Vererbung wie folgt implementiert:
-
Basisklasse
Person:- Definiert gemeinsame Attribute (firstName, lastName, birthYear, city)
- Implementiert gemeinsame Methoden (input(), info())
-
Abgeleitete Klassen:
StudenterweitertPersonmit zusätzlichen Attributen (id, subject)LecturererweitertPersonmit zusätzlichen Attributen (department)
-
Umsetzung im Code:
- Verwendung des
extends-Schlüsselworts (z.B.public class Student extends Person) - Aufruf des Konstruktors der Basisklasse mittels
super() - Überschreiben von Methoden mit
@Override - Nutzung von
protected-Attributen für Zugriff in abgeleiteten Klassen
- Verwendung des
Die App-Klassen demonstrieren die Verwendung des Systems. Jede App-Klasse erstellt Objekte des entsprechenden Typs, initialisiert sie mit Benutzereingaben und zeigt ihre Informationen an.