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