31 lines
1.3 KiB
Java
31 lines
1.3 KiB
Java
class Creator {
|
|
// Factory-Methode für Benutzer
|
|
static Benutzer factoryBenutzer(String name, String nachname, int kundennummer, String art) {
|
|
if (art.equalsIgnoreCase("e")) {
|
|
return new Benutzer.Erwachsener(name, nachname, kundennummer); // Erstelle einen Erwachsenen
|
|
} else if (art.equalsIgnoreCase("s")) {
|
|
return new Benutzer.SchuelerStudent(name, nachname, kundennummer, art); // Erstelle einen Schüler/Studenten
|
|
} else {
|
|
return null; // Unbekannte Benutzerart
|
|
}
|
|
}
|
|
|
|
// Factory-Methode für Medien
|
|
public static Medien factoryMedien(String name, String regisseur, int id, String art, int erscheinungsjahr) {
|
|
switch (art.toLowerCase()) {
|
|
case "buch":
|
|
return new Medien.Book(name, regisseur, id, erscheinungsjahr);
|
|
case "dvd":
|
|
return new Medien.Dvds(name, regisseur, id);
|
|
case "cd":
|
|
return new Medien.Cds(name, id);
|
|
case "sb":
|
|
return new Medien.Brettspiel(name, id);
|
|
case "videospiel":
|
|
return new Medien.Videospiel(name, regisseur, id);
|
|
default:
|
|
throw new IllegalArgumentException("Unbekannter Medientyp: " + art);
|
|
}
|
|
}
|
|
}
|