Bib1/Medien.java

85 lines
2.3 KiB
Java

public abstract class Medien {
// Eigenschaften der Medien-Klasse
protected String name;
protected String autor;
protected int id;
protected boolean verlängerung; // Standardwert für alle Medien
protected int frist; // Diese Variable wird in den Unterklassen gesetzt
// Konstruktor
public Medien(String name, String autor, int id) {
this.name = name;
this.autor = autor;
this.id = id;
this.verlängerung = false; // Standardwert, falls nicht anders gesetzt
}
// Getter-Methoden
public String getName() {
return name;
}
public String getAutor() {
return autor;
}
public int getId() {
return id;
}
public boolean isVerlängerung() {
return verlängerung;
}
// Setter für verlängerung, falls benötigt
public void setVerlängerung(boolean verlängerung) {
this.verlängerung = verlängerung;
}
// Getter für frist
public int getFrist() {
return frist;
}
// Statische innere Klassen, die Medien erben
public static class Book extends Medien {
// Spezifische frist für Bücher
public Book(String name, String autor, int id) {
super(name, autor, id);
this.frist = 4; // frist für Book ist 4
}
}
public static class Dvds extends Medien {
// Spezifische frist für DVDs
public Dvds(String name, String autor, int id) {
super(name, autor, id);
this.frist = 1; // frist für Dvds ist 1
}
}
public static class Cds extends Medien {
// Spezifische frist für CDs
public Cds(String name, String autor, int id) {
super(name, autor, id);
this.frist = 2; // frist für Cds ist 2
}
}
public static class Brettspiel extends Medien {
// Spezifische frist für Brettspiele
public Brettspiel(String name, String autor, int id) {
super(name, autor, id);
this.frist = 2; // frist für Brettspiel ist 2
}
}
public static class Videospiel extends Medien {
// Spezifische frist für Videospiele
public Videospiel(String name, String autor, int id) {
super(name, autor, id);
this.frist = 3; // frist für Videospiel ist 3
}
}
}