From 85f1a909032109b10189cd1c382e676e7cef4f44 Mon Sep 17 00:00:00 2001 From: "Ioana P." <3015825@stud.hs-mannheim.de> Date: Tue, 12 Nov 2024 15:26:06 +0100 Subject: [PATCH] Aufgabe 1: Bibliothekselemente erstellt und interface Ausleihbar --- LibrarySystem/domain/Ausleihbar.java | 6 ++++ LibrarySystem/domain/Brettspiel.java | 19 ++++++++++ LibrarySystem/domain/Buch.java | 20 +++++++++++ LibrarySystem/domain/CD.java | 19 ++++++++++ LibrarySystem/domain/DVD.java | 19 ++++++++++ LibrarySystem/domain/Medium.java | 53 ++++++++++++++++++++++++++++ LibrarySystem/domain/Videospiel.java | 20 +++++++++++ 7 files changed, 156 insertions(+) create mode 100644 LibrarySystem/domain/Ausleihbar.java create mode 100644 LibrarySystem/domain/Brettspiel.java create mode 100644 LibrarySystem/domain/Buch.java create mode 100644 LibrarySystem/domain/CD.java create mode 100644 LibrarySystem/domain/DVD.java create mode 100644 LibrarySystem/domain/Medium.java create mode 100644 LibrarySystem/domain/Videospiel.java diff --git a/LibrarySystem/domain/Ausleihbar.java b/LibrarySystem/domain/Ausleihbar.java new file mode 100644 index 0000000..2ec4229 --- /dev/null +++ b/LibrarySystem/domain/Ausleihbar.java @@ -0,0 +1,6 @@ +package LibrarySystem.domain; + +public interface Ausleihbar { + int ausleihdauer(); + boolean verlängerbar(); +} diff --git a/LibrarySystem/domain/Brettspiel.java b/LibrarySystem/domain/Brettspiel.java new file mode 100644 index 0000000..ab8c97f --- /dev/null +++ b/LibrarySystem/domain/Brettspiel.java @@ -0,0 +1,19 @@ +package LibrarySystem.domain; + +public class Brettspiel extends Medium implements Ausleihbar { + private static final int AUSLEIHDAUER = 14; // 2 Wochen + + public Brettspiel(String ID, String titel, String autor, int erscheinungsjahr) { + super(ID, titel, autor, erscheinungsjahr); + } + + @Override + public int ausleihdauer() { + return AUSLEIHDAUER; + } + + @Override + public boolean verlängerbar() { + return false; + } +} diff --git a/LibrarySystem/domain/Buch.java b/LibrarySystem/domain/Buch.java new file mode 100644 index 0000000..9ed6e4b --- /dev/null +++ b/LibrarySystem/domain/Buch.java @@ -0,0 +1,20 @@ +package LibrarySystem.domain; + + + class Buch extends Medium implements Ausleihbar { + private static final int AUSLEIHDAUER = 28; //4 Wochen in Tagen + + public Buch(String ID, String titel, String autor, int erscheinungsjahr) { + super(ID, titel, autor, erscheinungsjahr); + } + + @Override + public int ausleihdauer() { + return AUSLEIHDAUER; + } + + @Override + public boolean verlängerbar() { + return true; + } +} diff --git a/LibrarySystem/domain/CD.java b/LibrarySystem/domain/CD.java new file mode 100644 index 0000000..c645312 --- /dev/null +++ b/LibrarySystem/domain/CD.java @@ -0,0 +1,19 @@ +package LibrarySystem.domain; + +public class CD extends Medium implements Ausleihbar { + public static final int AUSLEIHDAUER = 14; // 2 Wochen + + public CD(String ID, String titel, String autor, int erscheinungsjahr) { + super(ID, titel, autor, erscheinungsjahr); + } + + @Override + public int ausleihdauer() { + return AUSLEIHDAUER; + } + + @Override + public boolean verlängerbar() { + return false; + } +} diff --git a/LibrarySystem/domain/DVD.java b/LibrarySystem/domain/DVD.java new file mode 100644 index 0000000..5ecdd9c --- /dev/null +++ b/LibrarySystem/domain/DVD.java @@ -0,0 +1,19 @@ +package LibrarySystem.domain; + +public class DVD extends Medium implements Ausleihbar { + private static final int AUSLEIHDAUER = 7; // 1 Woche + + public DVD(String ID, String titel, String autor, int erscheinungsjahr) { + super(ID, titel, autor, erscheinungsjahr); + } + + @Override + public int ausleihdauer() { + return AUSLEIHDAUER; + } + + @Override + public boolean verlängerbar() { + return false; + } +} diff --git a/LibrarySystem/domain/Medium.java b/LibrarySystem/domain/Medium.java new file mode 100644 index 0000000..44c7560 --- /dev/null +++ b/LibrarySystem/domain/Medium.java @@ -0,0 +1,53 @@ +package LibrarySystem.domain; + + abstract class Medium { + private String ID; + private String titel; + private String autor; + private int erscheinungsjahr; + + public Medium(String ID, String titel, String autor, int erscheinungsjahr) { + this.ID = ID; + this.titel = titel; + this.autor = autor; + this.erscheinungsjahr = erscheinungsjahr; + } + + + public String getID() { + return ID; + } + + public void setID(String 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; + } + + @Override + public String toString() { + return "ID: " + ID + ", Titel: " + titel + ", Autor: " + autor + ", Erscheinungsjahr: " + erscheinungsjahr; + } + } diff --git a/LibrarySystem/domain/Videospiel.java b/LibrarySystem/domain/Videospiel.java new file mode 100644 index 0000000..5eb7972 --- /dev/null +++ b/LibrarySystem/domain/Videospiel.java @@ -0,0 +1,20 @@ +package LibrarySystem.domain; + +public class Videospiel extends Medium implements Ausleihbar { + private static final int AUSLEIHDAUER = 28; // 4 Wochen + + public Videospiel(String ID, String titel, String autor, int erscheinungsjahr) { + super(ID, titel, autor, erscheinungsjahr); + } + + + @Override + public int ausleihdauer() { + return AUSLEIHDAUER; + } + + @Override + public boolean verlängerbar() { + return true; + } +}