User Methoden hinzugefügt
parent
c2d221d6fd
commit
5f178ce643
|
|
@ -1,47 +1,64 @@
|
|||
package DomainLayer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class User {
|
||||
private String cardNumber;
|
||||
private String name;
|
||||
private double fees;
|
||||
private String id;
|
||||
private String name;
|
||||
private double outstandingFees; // Ausstehende Gebühren
|
||||
private List<Medium> borrowedMedia;
|
||||
|
||||
public User(String cardNumber, String name) {
|
||||
this.cardNumber = cardNumber;
|
||||
this.name = name;
|
||||
this.fees = 0.0;
|
||||
}
|
||||
public User(String id, String name, double annualFee) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.outstandingFees = 0.0;
|
||||
this.borrowedMedia = new ArrayList<>();
|
||||
}
|
||||
|
||||
// Getter und Setter
|
||||
public String getCardNumber() {
|
||||
return cardNumber;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public double getFees() {
|
||||
return fees;
|
||||
}
|
||||
public double getOutstandingFees() {
|
||||
return outstandingFees;
|
||||
}
|
||||
|
||||
public void addFees(double amount) {
|
||||
this.fees += amount;
|
||||
}
|
||||
public void addFee(double fee) {
|
||||
this.outstandingFees += fee;
|
||||
}
|
||||
|
||||
public void payFees(double amount) {
|
||||
this.fees -= amount;
|
||||
}
|
||||
public void payFees(double 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 AdultUser(String cardNumber, String name) {
|
||||
super(cardNumber, name);
|
||||
}
|
||||
public void borrowMedium(Medium medium) {
|
||||
borrowedMedia.add(medium);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double calculateAnnualFee() {
|
||||
return 50.0;
|
||||
}
|
||||
public void returnMedium(Medium medium) {
|
||||
borrowedMedia.remove(medium);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Benutzer{" +
|
||||
"ID='" + id + '\'' +
|
||||
", Name='" + name + '\'' +
|
||||
", Ausstehende Gebühren=" + outstandingFees +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue