Java eigne Klasse (Bücher ausleihen)?


07.06.2022, 00:57

man könnte dann das Attribut Status auch in die rentbook packen, würde mehr sinn machen, oder?


07.06.2022, 01:03

man könnte dann das Attribut Status auch in die rentbook (so würde ich die Unterklasse dann nennen) packen, würde mehr Sinn machen, oder?

Dann wäre für mich jetzt noch die Frage, wie es gemeint ist mit "Buch ausleihen"

Hierfür eine Methode schreiben, die den Status auf rent setzt ?

und fürs zurückgeben eine die überprüft ob der Status einen rentbook Objekts "rent" ist und diesen dann auf "not rent" setzt ?

1 Antwort

Nun war meine Idee eine Unterklasse zu erstellen die von der Klasse Book erbt. In dieser soll dann der ganze Vorgang mit Ausleihen usw geschehen . Macht dies so Sinn?

Nein.

Book ist ein Value Object und sollte möglichst "dumm" gehalten werden.
Aufgabe dieser Klasse ist es nur Werte zu haben.
Jegliche Logik sollten über andere Klassen organisiert werden.
Werte haben, Werte setzen (Setter), Werte auslesen (Getter), mehr sollte die Klasse Buch nicht beinhalten.

Die ganzen Methoden vowegen Check Author, Title etc. und die Überprüfungen innerhalb Deiner Setter Methoden, gehören alle nicht in die Buch Klasse.
Das gehört alles in eine Klasse, die für die Logik zuständig ist (BuchManager oder wie man die auch nennen möchte).
Diese Klasse ruft dann über die Getter die Daten eines Buches ab und setzt/verändert sie über die Setter.
Alles was mit den Daten angestellt wird -> die ganze Logik (Checks, Änderungen etc.) findet in dieser Manager Klasse statt.
Nicht in der Buch Klasse.

Woher ich das weiß:Studium / Ausbildung – Informatik Studium.
fastfurry 
Fragesteller
 07.06.2022, 01:40

Achso, also müsste dann in der Klasse Book , nur die Set (für author, title, returndate, Status) und get (für author, title, returndate, Status) Methoden enthalten sein? Die checken Methoden kommen dann in eine eigene Klasse. Muss ich dann in dieser Klasse auch Methoden erstellen, die für das Ausliehen zuständig sind, bzw die dann die Werte von status und returndate verändern?

0
fastfurry 
Fragesteller
 07.06.2022, 01:48
@apophis

Ok, danke. Dann wäre mein einzigstes Problem noch, wie ich die Checker für returnDate (variable vom typ Localdate) erstelle

0