Erste Implementierung der Medien unterklassen

development
Leon Löhle 2024-11-14 15:08:32 +01:00
parent 11cc18f1b3
commit 17a7d60487
4 changed files with 64 additions and 36 deletions

View File

@ -4,46 +4,19 @@ public class Buch extends Medien {
private String autor; private String autor;
private int seitenanzahl; private int seitenanzahl;
public Buch(String titel, String id, int erscheinungsjahr,String Autor, int seitenanzahl) { public Buch(String id, String titel, int erscheinungsjahr, String autor, int seitenanzahl) {
super(titel, id, erscheinungsjahr); super(id, titel, erscheinungsjahr);
this.autor = autor; this.autor = autor;
this.seitenanzahl = seitenanzahl; this.seitenanzahl = seitenanzahl;
} }
public String getAutor() {
return autor;
}
public int getSeitenanzahl() {
return seitenanzahl;
}
public void setAutor(String Autor) {
this.autor = Autor;
}
public void setSeitenanzahl(int Seitenanzahl) {
this.seitenanzahl = Seitenanzahl;
}
@Override
public void ausleihen() {
// Beispiellogik für das Ausleihen eines Buches
System.out.println("Das Buch '" + getTitel() + "' von Autor '" + autor + "' wurde ausgeliehen.");
}
@Override @Override
public void zurueckgeben() { public int getAusleihdauer() { return 4; } // 4 Wochen
// Beispiellogik für die Rückgabe eines Buches @Override
System.out.println("Das Buch '" + getTitel() + "' von Autor '" + autor + "' wurde zurückgegeben."); public int getMaxVerlaengerungen() { return 3; }
}
@Override @Override
public void verlaengern() { public String getDetails() {
// Beispiellogik zum Verlängern der Ausleihfrist eines Buches return "Buch: " + titel + " von " + autor + " (" + erscheinungsjahr + "), Seiten: " + seitenanzahl;
System.out.println("Die Ausleihfrist für das Buch '" + getTitel() + "' von Autor '" + autor + "' wurde verlängert.");
}
@Override
public void ausgeben() {
// Methode, um die Details des Buches auszugeben
System.out.println("Das Buch mit dem Titel '" + getTitel() + " geschrieben von" + autor +
" aus dem Jahre" + getErscheinungsjahr() +
" hat " + seitenanzahl + " Seiten, sowie die ID - " + getId());
} }
} }

View File

@ -1,4 +1,22 @@
package Bibliothek; package Bibliothek;
public class CD { public class CD extends Medien {
private String kuenstler;
private int anzahlTitel;
public CD(String id, String titel, int erscheinungsjahr, String kuenstler, int anzahlTitel) {
super(id, titel, erscheinungsjahr);
this.kuenstler = kuenstler;
this.anzahlTitel = anzahlTitel;
}
@Override
public int getAusleihdauer() { return 2; } // 2 Wochen für CDs
@Override
public int getMaxVerlaengerungen() { return 2; } // CDs können maximal 2-mal verlängert werden
@Override
public String getDetails() {
return "CD: " + titel + " von " + kuenstler + " (" + erscheinungsjahr + "), Titelanzahl: " + anzahlTitel;
}
} }

View File

@ -1,4 +1,22 @@
package Bibliothek; package Bibliothek;
public class DVD extends Medien { public class DVD extends Medien {
private String regisseur;
private int spieldauer; // Spieldauer in Minuten
public DVD(String id, String titel, int erscheinungsjahr, String regisseur, int spieldauer) {
super(id, titel, erscheinungsjahr);
this.regisseur = regisseur;
this.spieldauer = spieldauer;
}
@Override
public int getAusleihdauer() { return 1; } // 1 Woche für DVDs
@Override
public int getMaxVerlaengerungen() { return 1; } // DVDs können nur einmal verlängert werden
@Override
public String getDetails() {
return "DVD: " + titel + " von " + regisseur + " (" + erscheinungsjahr + "), Spieldauer: " + spieldauer + " Minuten";
}
} }

View File

@ -1,3 +1,22 @@
package Bibliothek; package Bibliothek;
public class Videospiel extends Medien{
public class Videospiel extends Medien {
private String plattform; // z.B. PC, PlayStation, Xbox
private String genre;
public Videospiel(String id, String titel, int erscheinungsjahr, String plattform, String genre) {
super(id, titel, erscheinungsjahr);
this.plattform = plattform;
this.genre = genre;
}
@Override
public int getAusleihdauer() { return 2; } // 2 Wochen für Videospiele
@Override
public int getMaxVerlaengerungen() { return 1; } // Videospiele können nur einmal verlängert werden
@Override
public String getDetails() {
return "Videospiel: " + titel + " (" + plattform + ", Genre: " + genre + ", " + erscheinungsjahr + ")";
}
} }