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;
|
package Bibliothek;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
public abstract class Medien {
|
public abstract class Medien {
|
||||||
protected String titel;
|
protected String titel;
|
||||||
protected String id;
|
protected String id;
|
||||||
protected int erscheinungsjahr;
|
protected int erscheinungsjahr;
|
||||||
|
protected boolean verfuegbar;
|
||||||
|
protected LocalDate rueckgabedat;
|
||||||
|
|
||||||
public Medien(String titel, String id, int erscheinungsjahr) {
|
public Medien(String titel, String id, int erscheinungsjahr) {
|
||||||
this.titel = titel;
|
this.titel = titel;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.erscheinungsjahr = erscheinungsjahr;
|
this.erscheinungsjahr = erscheinungsjahr;
|
||||||
|
this.verfuegbar = true;
|
||||||
}
|
}
|
||||||
public String getTitel() {
|
public String getTitel() {
|
||||||
return titel;
|
return titel;
|
||||||
|
@ -28,9 +33,31 @@ public abstract class Medien {
|
||||||
public void setErscheinungsjahr(int er) {
|
public void setErscheinungsjahr(int er) {
|
||||||
this.erscheinungsjahr = er;
|
this.erscheinungsjahr = er;
|
||||||
}
|
}
|
||||||
|
public abstract int getAusleihdauer();
|
||||||
|
public abstract int getMaxVerlaengerungen();
|
||||||
|
|
||||||
public abstract void ausleihen();
|
public void ausleihen() {
|
||||||
public abstract void zurueckgeben();
|
if (verfuegbar) {
|
||||||
public abstract void verlaengern();
|
verfuegbar = false;
|
||||||
public abstract void ausgeben();
|
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