Menu
Coddy logo textTech

Özet - Ödeme Sistemi

Coddy'nin Java Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 40 / 87.

challenge icon

Görev

Kolay

Bu bölümde arayüzler hakkında öğrendiğin her şeyi bir araya getiren eksiksiz bir ödeme işleme sistemi oluşturalım. Farklı ödeme yöntemlerinin ortak bir arayüz üzerinden aynı şekilde işlenebildiği esnek bir sistem oluşturacaksın.

Kodunu beş dosyaya ayıracaksın:

  • Payable.java: Tüm ödeme yöntemlerinin uygulaması gereken temel arayüzü tanımla. Ödeme işlemini açıklayan bir String döndüren tek bir pay(double amount) yöntemi bildirmelidir.
  • CreditCard.java: Kredi kartı ödemelerini temsil eden ve Payable uygulayan bir sınıf oluştur. Bir CreditCard, son 4 haneyi depolayan bir cardNumber alanına (String) sahiptir. Bunu başlatmak için bir kurucu ekle. pay yöntemi şunu döndürmelidir: Paid [amount] using Credit Card ending in [cardNumber]
  • PayPal.java: PayPal ödemeleri için Payable uygulayan başka bir sınıf oluştur. Bir PayPal hesabı bir email alanına (String) sahiptir. Bunu başlatmak için bir kurucu ekle. pay yöntemi şunu döndürmelidir: Paid [amount] via PayPal account [email]
  • PaymentProcessor.java: Herhangi bir Payable nesnesini işleyebilen bir işlemci sınıfı oluştur. Ödeme yönteminin pay yöntemini çağıran ve sonucu döndüren processPayment(Payable paymentMethod, double amount) yöntemine sahip olmalıdır. Bu, arayüzlerin polimorfik davranışı nasıl mümkün kıldığını gösterir: işlemcinin belirli ödeme türünü bilmesine gerek yoktur!
  • Main.java: Her şeyi bir araya getir. Üç girdi alacaksın: bir kart numarası (son 4 hane), bir e-posta adresi ve bir ödeme tutarı. Bir PaymentProcessor oluştur, ardından verilen tutar için hem bir CreditCard hem de bir PayPal hesabıyla ödeme işlemlerini gerçekleştirmek üzere bunu kullan. Her sonucu ayrı bir satıra yazdır.

Üç girdi alacaksın: kart numarasının son 4 hanesi (String), PayPal e-postası (String) ve ödeme tutarı (double).

Çıktındaki tutarları iki ondalık basamakla biçimlendir. Aynı PaymentProcessor öğesinin arayüzlerin gücü sayesinde tamamen farklı ödeme türlerini nasıl işlediğine dikkat et!

Kendin dene

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Girdileri oku
        String cardNumber = scanner.nextLine();  // Son 4 hane
        String email = scanner.nextLine();       // PayPal e-postası
        double amount = scanner.nextDouble();    // Ödeme tutarı
        
        // TODO: Bir PaymentProcessor oluştur
        
        // TODO: cardNumber ile bir CreditCard oluştur
        
        // TODO: email ile bir PayPal hesabı oluştur
        
        // TODO: CreditCard ile ödemeyi işle ve sonucu yazdır
        
        // TODO: PayPal ile ödemeyi işle ve sonucu yazdır
    }
}

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Java derleyicisi