package LibrarySystem.domain.medien; public abstract class Medium implements Ausleihbar { private int ID; private String titel; private String autor; private int erscheinungsjahr; private String medienart; private boolean istAusgeliehen; public Medium(int ID, String titel, String autor, int erscheinungsjahr, String medienart) { this.ID = ID; this.titel = titel; this.autor = autor; this.erscheinungsjahr = erscheinungsjahr; this.medienart = medienart; this.istAusgeliehen = false; } // Abstrakte Methoden: Jede Unterklasse definiert ihre Ausleihdauer und Verlängerbarkeit public abstract boolean getVerlaengerbar(); public abstract int getAusleihdauer(); public int getID() { return ID; } public void setID(int ID) { this.ID = ID; } public String getTitel() { return titel; } public void setTitel(String titel) { this.titel = titel; } public String getAutor() { return autor; } public void setAutor(String autor) { this.autor = autor; } public int getErscheinungsjahr() { return erscheinungsjahr; } public void setErscheinungsjahr(int erscheinungsjahr) { this.erscheinungsjahr = erscheinungsjahr; } public String getMedienart() { return medienart; } public void setMedienart(String Medienart) { this.medienart = Medienart; } public boolean istAusgeliehen() { return istAusgeliehen; } public void setIstAusgeliehen(boolean istAusgeliehen) { this.istAusgeliehen = istAusgeliehen; } @Override public String toString() { return "ID: " + ID + ", Titel: " + titel + ", Autor: " + autor + ", Erscheinungsjahr: " + erscheinungsjahr; } }