Menu
Coddy logo textTech

Özet - Banka Hesabı Yöneticisi

Coddy'nin Dart Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 22 / 110.

challenge icon

Görev

Kolay

Bu bölümde öğrendiğin tüm sınıf özelliği kavramlarını bir araya getiren bir banka hesabı yönetim sistemi oluşturalım. Bireysel hesap verilerini izleyen ve aynı zamanda banka genelindeki istatistikleri tutan bir sistem oluşturacaksın.

Kodunu iki dosyada düzenleyeceksin:

  • bank_account.dart: Bireysel hesapları yöneten ve genel banka istatistiklerini takip eden bir BankAccount sınıfı tanımla. Sınıfın şunları içermelidir:
    • Oluşturulduktan sonra değiştirilemeyen bir final String accountNumber
    • Hesap sahibinin adı için bir String holderName
    • double _balance değeriyle başlayan private bir 0.0 alanı
    • Kaç hesabın var olduğunu takip etmek için static int totalAccounts değeriyle başlayan bir 0
    • Banka genelinde gerçekleştirilen tüm para yatırma işlemlerini takip etmek için static double totalDeposits değeriyle başlayan bir 0.0
    • accountNumber ve holderName alanlarını alan ve totalAccounts değerini artıran bir kurucu
    • Mevcut bakiyeyi döndüren bir balance getter'ı
    • Yalnızca miktar pozitifse bakiyeye ekleme yapan ve işlem başarılı olduğunda deposit(double amount) değerine de ekleyen bir totalDeposits metodu
    • Yalnızca miktar pozitifse ve mevcut bakiyeyi aşmıyorsa bakiyeden çıkarma yapan bir withdraw(double amount) metodu
    • Hesap ayrıntılarını yazdıran bir displayInfo() metodu
    • Banka genelindeki istatistikleri içeren bir dize döndüren statik bir getBankStats() metodu
  • main.dart: Banka hesabı sınıfını içe aktar ve sistemi göster:
    • 'ACC001' için 'Alice' numaralı bir hesap oluştur
    • 'ACC002' için 'Bob' numaralı bir hesap oluştur
    • Alice'ın hesabına 500.0 yatır
    • Bob'un hesabına 300.0 yatır
    • Alice'ın hesabından 150.0 çek
    • Bob'un hesabından 1000.0 çekmeyi dene (yetersiz bakiye nedeniyle yok sayılmalı)
    • Alice'ın hesabına -50.0 yatırmayı dene (negatif miktar nedeniyle yok sayılmalı)
    • Alice'ın, ardından Bob'un hesabında displayInfo() metodunu çağır
    • BankAccount.getBankStats() kullanarak banka istatistiklerini yazdır

displayInfo() metodu şu biçimde yazdırmalıdır:

Account [accountNumber] | Holder: [holderName] | Balance: $[balance]

getBankStats() metodu şunu döndürmelidir:

Bank Stats - Total Accounts: [totalAccounts] | Total Deposits: $[totalDeposits]

Beklenen çıktı:

Account ACC001 | Holder: Alice | Balance: $350.0
Account ACC002 | Holder: Bob | Balance: $300.0
Bank Stats - Total Accounts: 2 | Total Deposits: $800.0

Kendin dene

import 'bank_account.dart';

void main() {
  // TODO: 'Alice' için 'ACC001' numaralı bir hesap oluşturun
  
  // TODO: 'Bob' için 'ACC002' numaralı bir hesap oluşturun
  
  // TODO: Alice'in hesabına 500.0 yatırın
  
  // TODO: Bob'un hesabına 300.0 yatırın
  
  // TODO: Alice'in hesabından 150.0 çekin
  
  // TODO: Bob'un hesabından 1000.0 çekmeyi deneyin (göz ardı edilmeli)
  
  // TODO: Alice'in hesabına -50.0 yatırmayı deneyin (göz ardı edilmeli)
  
  // TODO: Alice'in hesabında displayInfo() metodunu çağırın
  
  // TODO: Bob'un hesabında displayInfo() metodunu çağırın
  
  // TODO: BankAccount.getBankStats() kullanarak banka istatistiklerini yazdırın
}

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

Kendi başına pratik yap: Online Dart derleyicisi