Menu
Coddy logo textTech

Zusammenfassung - Zahlungssystem

Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy — Lektion 40 von 87.

challenge icon

Aufgabe

Einfach

Lassen Sie uns ein vollständiges Zahlungssystem aufbauen, das alles zusammenführt, was Sie in diesem Kapitel über Interfaces gelernt haben. Sie werden ein flexibles System erstellen, in dem verschiedene Zahlungsmethoden einheitlich über ein gemeinsames Interface verarbeitet werden können.

Sie werden Ihren Code über fünf Dateien organisieren:

  • Payable.java: Definieren Sie das Kern-Interface, das alle Zahlungsmethoden implementieren müssen. Es sollte eine einzige Methode pay(double amount) deklarieren, die einen String zurückgibt, der die Zahlungsaktion beschreibt.
  • CreditCard.java: Erstellen Sie eine Klasse, die Payable implementiert und Kreditkartenzahlungen repräsentiert. Eine CreditCard hat ein cardNumber-Feld (String), das die letzten 4 Ziffern speichert. Fügen Sie einen Konstruktor hinzu, um es zu initialisieren. Die pay-Methode sollte zurückgeben: Paid [amount] using Credit Card ending in [cardNumber]
  • PayPal.java: Erstellen Sie eine weitere Klasse, die Payable für PayPal-Zahlungen implementiert. Ein PayPal-Konto hat ein email-Feld (String). Fügen Sie einen Konstruktor hinzu, um es zu initialisieren. Die pay-Methode sollte zurückgeben: Paid [amount] via PayPal account [email]
  • PaymentProcessor.java: Erstellen Sie eine Prozessor-Klasse, die jedes Payable-Objekt verarbeiten kann. Sie sollte eine Methode processPayment(Payable paymentMethod, double amount) haben, die die pay-Methode der Zahlungsmethode aufruft und das Ergebnis zurückgibt. Dies demonstriert, wie Interfaces polymorphes Verhalten ermöglichen – der Prozessor muss den spezifischen Zahlungstyp nicht kennen!
  • Main.java: Bringen Sie alles zusammen. Sie erhalten drei Eingaben: eine Kartennummer (letzte 4 Ziffern), eine E-Mail-Adresse und einen Zahlungsbetrag. Erstellen Sie einen PaymentProcessor und verwenden Sie ihn dann, um Zahlungen sowohl mit einer CreditCard als auch mit einem PayPal-Konto für den angegebenen Betrag zu verarbeiten. Geben Sie jedes Ergebnis in einer separaten Zeile aus.

Sie erhalten drei Eingaben: die letzten 4 Ziffern der Kartennummer (String), die PayPal-E-Mail (String) und den Zahlungsbetrag (double).

Formatieren Sie Beträge in Ihrer Ausgabe mit zwei Dezimalstellen. Beachten Sie, wie derselbe PaymentProcessor durch die Kraft von Interfaces völlig unterschiedliche Zahlungstypen verarbeitet!

Probier es selbst

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Eingaben lesen
        String cardNumber = scanner.nextLine();  // Letzte 4 Ziffern
        String email = scanner.nextLine();       // PayPal-E-Mail
        double amount = scanner.nextDouble();    // Zahlungsbetrag
        
        // TODO: Erstelle einen PaymentProcessor
        
        // TODO: Erstelle eine CreditCard mit der cardNumber
        
        // TODO: Erstelle ein PayPal-Konto mit der email
        
        // TODO: Verarbeite die Zahlung mit CreditCard und gib das Ergebnis aus
        
        // TODO: Verarbeite die Zahlung mit PayPal und gib das Ergebnis aus
    }
}

Alle Lektionen in Objektorientierte Programmierung