From 17a7d60487f68c9b4b3702ec2c406016a7f42b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20L=C3=B6hle?= <3010261@hs-mannheim.de> Date: Thu, 14 Nov 2024 15:08:32 +0100 Subject: [PATCH] Erste Implementierung der Medien unterklassen --- Biblio/src/Bibliothek/Buch.java | 41 +++++---------------------- Biblio/src/Bibliothek/CD.java | 20 ++++++++++++- Biblio/src/Bibliothek/DVD.java | 18 ++++++++++++ Biblio/src/Bibliothek/Videospiel.java | 21 +++++++++++++- 4 files changed, 64 insertions(+), 36 deletions(-) diff --git a/Biblio/src/Bibliothek/Buch.java b/Biblio/src/Bibliothek/Buch.java index 1ffc705..0b0cba8 100644 --- a/Biblio/src/Bibliothek/Buch.java +++ b/Biblio/src/Bibliothek/Buch.java @@ -4,46 +4,19 @@ public class Buch extends Medien { private String autor; private int seitenanzahl; - public Buch(String titel, String id, int erscheinungsjahr,String Autor, int seitenanzahl) { - super(titel, id, erscheinungsjahr); + public Buch(String id, String titel, int erscheinungsjahr, String autor, int seitenanzahl) { + super(id, titel, erscheinungsjahr); this.autor = autor; this.seitenanzahl = seitenanzahl; } - public String getAutor() { - return autor; - } - public int getSeitenanzahl() { - return seitenanzahl; - } - public void setAutor(String Autor) { - this.autor = Autor; - } - public void setSeitenanzahl(int Seitenanzahl) { - this.seitenanzahl = Seitenanzahl; - } - @Override - public void ausleihen() { - // Beispiellogik für das Ausleihen eines Buches - System.out.println("Das Buch '" + getTitel() + "' von Autor '" + autor + "' wurde ausgeliehen."); - } @Override - public void zurueckgeben() { - // Beispiellogik für die Rückgabe eines Buches - System.out.println("Das Buch '" + getTitel() + "' von Autor '" + autor + "' wurde zurückgegeben."); - } + public int getAusleihdauer() { return 4; } // 4 Wochen + @Override + public int getMaxVerlaengerungen() { return 3; } @Override - public void verlaengern() { - // Beispiellogik zum Verlängern der Ausleihfrist eines Buches - System.out.println("Die Ausleihfrist für das Buch '" + getTitel() + "' von Autor '" + autor + "' wurde verlängert."); - } - - @Override - public void ausgeben() { - // Methode, um die Details des Buches auszugeben - System.out.println("Das Buch mit dem Titel '" + getTitel() + " geschrieben von" + autor + - " aus dem Jahre" + getErscheinungsjahr() + - " hat " + seitenanzahl + " Seiten, sowie die ID - " + getId()); + public String getDetails() { + return "Buch: " + titel + " von " + autor + " (" + erscheinungsjahr + "), Seiten: " + seitenanzahl; } } diff --git a/Biblio/src/Bibliothek/CD.java b/Biblio/src/Bibliothek/CD.java index 4ffb368..85563d0 100644 --- a/Biblio/src/Bibliothek/CD.java +++ b/Biblio/src/Bibliothek/CD.java @@ -1,4 +1,22 @@ package Bibliothek; -public class CD { +public class CD extends Medien { + private String kuenstler; + private int anzahlTitel; + + public CD(String id, String titel, int erscheinungsjahr, String kuenstler, int anzahlTitel) { + super(id, titel, erscheinungsjahr); + this.kuenstler = kuenstler; + this.anzahlTitel = anzahlTitel; + } + + @Override + public int getAusleihdauer() { return 2; } // 2 Wochen für CDs + @Override + public int getMaxVerlaengerungen() { return 2; } // CDs können maximal 2-mal verlängert werden + + @Override + public String getDetails() { + return "CD: " + titel + " von " + kuenstler + " (" + erscheinungsjahr + "), Titelanzahl: " + anzahlTitel; + } } diff --git a/Biblio/src/Bibliothek/DVD.java b/Biblio/src/Bibliothek/DVD.java index e86f6bd..00f6465 100644 --- a/Biblio/src/Bibliothek/DVD.java +++ b/Biblio/src/Bibliothek/DVD.java @@ -1,4 +1,22 @@ package Bibliothek; public class DVD extends Medien { + private String regisseur; + private int spieldauer; // Spieldauer in Minuten + + public DVD(String id, String titel, int erscheinungsjahr, String regisseur, int spieldauer) { + super(id, titel, erscheinungsjahr); + this.regisseur = regisseur; + this.spieldauer = spieldauer; + } + + @Override + public int getAusleihdauer() { return 1; } // 1 Woche für DVDs + @Override + public int getMaxVerlaengerungen() { return 1; } // DVDs können nur einmal verlängert werden + + @Override + public String getDetails() { + return "DVD: " + titel + " von " + regisseur + " (" + erscheinungsjahr + "), Spieldauer: " + spieldauer + " Minuten"; + } } diff --git a/Biblio/src/Bibliothek/Videospiel.java b/Biblio/src/Bibliothek/Videospiel.java index 51f646d..4337bb7 100644 --- a/Biblio/src/Bibliothek/Videospiel.java +++ b/Biblio/src/Bibliothek/Videospiel.java @@ -1,3 +1,22 @@ package Bibliothek; -public class Videospiel extends Medien{ + +public class Videospiel extends Medien { + private String plattform; // z.B. PC, PlayStation, Xbox + private String genre; + + public Videospiel(String id, String titel, int erscheinungsjahr, String plattform, String genre) { + super(id, titel, erscheinungsjahr); + this.plattform = plattform; + this.genre = genre; + } + + @Override + public int getAusleihdauer() { return 2; } // 2 Wochen für Videospiele + @Override + public int getMaxVerlaengerungen() { return 1; } // Videospiele können nur einmal verlängert werden + + @Override + public String getDetails() { + return "Videospiel: " + titel + " (" + plattform + ", Genre: " + genre + ", " + erscheinungsjahr + ")"; + } }