User Methoden hinzugefügt

Feature-LibraryService
elarturo 2024-11-18 23:03:19 +01:00
parent c2d221d6fd
commit 5f178ce643
1 changed files with 51 additions and 34 deletions

View File

@ -1,47 +1,64 @@
package DomainLayer; package DomainLayer;
public abstract class User { import java.util.ArrayList;
private String cardNumber; import java.util.List;
private String name;
private double fees;
public User(String cardNumber, String name) { public abstract class User {
this.cardNumber = cardNumber; private String id;
private String name;
private double outstandingFees; // Ausstehende Gebühren
private List<Medium> borrowedMedia;
public User(String id, String name, double annualFee) {
this.id = id;
this.name = name; this.name = name;
this.fees = 0.0; this.outstandingFees = 0.0;
this.borrowedMedia = new ArrayList<>();
} }
// Getter und Setter public String getId() {
public String getCardNumber() { return id;
return cardNumber;
} }
public String getName() { public String getName() {
return name; return name;
} }
public double getFees() { public double getOutstandingFees() {
return fees; return outstandingFees;
} }
public void addFees(double amount) { public void addFee(double fee) {
this.fees += amount; this.outstandingFees += fee;
} }
public void payFees(double amount) { public void payFees(double amount) {
this.fees -= amount; if (amount > outstandingFees) {
System.out.println("Der Betrag übersteigt die ausstehenden Gebühren.");
return;
}
outstandingFees -= amount;
System.out.println("Zahlung von " + amount + "€ erfolgreich. Verbleibende Gebühren: " + outstandingFees + "€.");
} }
public abstract double calculateAnnualFee(); public List<Medium> getBorrowedMedia() {
return borrowedMedia;
} }
class AdultUser extends User { public void borrowMedium(Medium medium) {
public AdultUser(String cardNumber, String name) { borrowedMedia.add(medium);
super(cardNumber, name); }
public void returnMedium(Medium medium) {
borrowedMedia.remove(medium);
} }
@Override @Override
public double calculateAnnualFee() { public String toString() {
return 50.0; return "Benutzer{" +
"ID='" + id + '\'' +
", Name='" + name + '\'' +
", Ausstehende Gebühren=" + outstandingFees +
'}';
} }
} }