85 lines
2.3 KiB
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
|
||
|
}
|
||
|
}
|
||
|
}
|