Anpassung und verbesserung der Medien Klasse, bau der Brettspiel Klasse
parent
0e4b7f792e
commit
11cc18f1b3
|
@ -0,0 +1,22 @@
|
|||
package Bibliothek;
|
||||
|
||||
public class Brettspiel extends Medien {
|
||||
private int spieleranzahl;
|
||||
private int spieldauer; // in Minuten
|
||||
|
||||
public Brettspiel(String id, String titel, int erscheinungsjahr, int spieleranzahl, int spieldauer) {
|
||||
super(id, titel, erscheinungsjahr);
|
||||
this.spieleranzahl = spieleranzahl;
|
||||
this.spieldauer = spieldauer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAusleihdauer() { return 3; } // 3 Wochen für Brettspiele
|
||||
@Override
|
||||
public int getMaxVerlaengerungen() { return 2; } // Brettspiele können 2-mal verlängert werden
|
||||
|
||||
@Override
|
||||
public String getDetails() {
|
||||
return "Brettspiel: " + titel + ", Spieleranzahl: " + spieleranzahl + ", Spieldauer: " + spieldauer + " Minuten";
|
||||
}
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
package Bibliothek;
|
||||
|
||||
public class Brettspiele extends Medien {
|
||||
private int maxSpieler;
|
||||
private int spieldauer;
|
||||
|
||||
public Brettspiele(String titel, String id, int erscheinungsjahr, int spieleranzahl, int spieldauer) {
|
||||
super(titel, id, erscheinungsjahr);
|
||||
this.maxSpieler = maxSpieler;
|
||||
this.spieldauer = spieldauer;
|
||||
}
|
||||
|
||||
public void setMaxSpieler(int maxSpieler) {
|
||||
this.maxSpieler = maxSpieler;
|
||||
}
|
||||
|
||||
public int getMaxSpieler() {
|
||||
return maxSpieler;
|
||||
}
|
||||
|
||||
public void setSpieldauer(int spieleranzahl) {
|
||||
this.spieldauer = spieleranzahl;
|
||||
}
|
||||
|
||||
public int getSpieldauer() {
|
||||
return spieldauer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ausleihen() {
|
||||
System.out.println("Das Brettspiel mit dem Namen " + titel + "und der ID: " + id + " wurde ausgeliehen");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void zurueckgeben() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void verlaengern() {
|
||||
System.out.println("Die Ausleihdauer für das Brettspiel '" + titel + "' wurde verlängert.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ausgeben() {
|
||||
System.out.println("Dieses Brettspiel heißt " +titel + "stammt aus dem Jahr " + erscheinungsjahr + "ist für " + maxSpieler + " Spieler gedacht und dauert ca. "+spieldauer +" Minuten");
|
||||
|
||||
}
|
||||
}
|
|
@ -1,14 +1,19 @@
|
|||
package Bibliothek;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public abstract class Medien {
|
||||
protected String titel;
|
||||
protected String id;
|
||||
protected int erscheinungsjahr;
|
||||
protected boolean verfuegbar;
|
||||
protected LocalDate rueckgabedat;
|
||||
|
||||
public Medien(String titel, String id, int erscheinungsjahr) {
|
||||
this.titel = titel;
|
||||
this.id = id;
|
||||
this.erscheinungsjahr = erscheinungsjahr;
|
||||
this.verfuegbar = true;
|
||||
}
|
||||
public String getTitel() {
|
||||
return titel;
|
||||
|
@ -28,9 +33,31 @@ public abstract class Medien {
|
|||
public void setErscheinungsjahr(int er) {
|
||||
this.erscheinungsjahr = er;
|
||||
}
|
||||
public abstract int getAusleihdauer();
|
||||
public abstract int getMaxVerlaengerungen();
|
||||
|
||||
public abstract void ausleihen();
|
||||
public abstract void zurueckgeben();
|
||||
public abstract void verlaengern();
|
||||
public abstract void ausgeben();
|
||||
public void ausleihen() {
|
||||
if (verfuegbar) {
|
||||
verfuegbar = false;
|
||||
rueckgabedat = LocalDate.now().plusWeeks(getAusleihdauer());
|
||||
System.out.println("Ausgeliehen bis: " + rueckgabedat);
|
||||
} else {
|
||||
System.out.println("Nicht verfügbar.");
|
||||
}
|
||||
}
|
||||
|
||||
public boolean verlaengern(int aktuelleVerlaengerungen) {
|
||||
if (aktuelleVerlaengerungen < getMaxVerlaengerungen()) {
|
||||
rueckgabedat = rueckgabedat.plusWeeks(getAusleihdauer());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void zurueckgeben() {
|
||||
verfuegbar = true;
|
||||
rueckgabedat = null;
|
||||
}
|
||||
|
||||
public abstract String getDetails();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue