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ğiniz tüm sınıf özelliği kavramlarını bir araya getiren bir banka hesabı yönetim sistemi kuralım. Bireysel hesap verilerini takip ederken aynı zamanda banka genelindeki istatistikleri de tutan bir sistem oluşturacaksınız.

Kodunuzu iki dosya halinde düzenleyeceksiniz:

  • bank_account.dart: Bireysel hesapları yöneten ve genel banka istatistiklerini takip eden bir BankAccount sınıfı tanımlayın. Sınıfınız şunları içermelidir:
    • Oluşturulduktan sonra değiştirilemeyen bir final String accountNumber
    • Hesap sahibinin adı için bir String holderName
    • 0.0 ile başlayan özel (private) bir double _balance alanı
    • Kaç tane hesap olduğunu takip etmek için 0 ile başlayan bir static int totalAccounts
    • Banka genelinde yapılan tüm para yatırma işlemlerini takip etmek için 0.0 ile başlayan bir static double totalDeposits
    • accountNumber ve holderName alanlarını alan ve totalAccounts değerini artıran bir yapıcı (constructor)
    • Mevcut bakiyeyi döndüren bir balance getter metodu
    • Yalnızca miktar pozitifse bakiyeye ekleme yapan ve başarılı olduğunda totalDeposits değerine de ekleme yapan bir deposit(double amount) metodu
    • Yalnızca miktar pozitifse ve mevcut bakiyeyi aşmıyorsa bakiyeden çıkarma yapan bir withdraw(double amount) metodu
    • Hesap detaylarını yazdıran bir displayInfo() metodu
    • Banka genelindeki istatistikleri içeren bir dize (string) döndüren statik bir getBankStats() metodu
  • main.dart: Banka hesabı sınıfınızı içe aktarın ve sistemi demo edin:
    • 'Alice' için 'ACC001' numaralı bir hesap oluşturun
    • 'Bob' için 'ACC002' numaralı bir hesap oluşturun
    • Alice'in hesabına 500.0 yatırın
    • Bob'un hesabına 300.0 yatırın
    • Alice'in hesabından 150.0 çekin
    • Bob'un hesabından 1000.0 çekmeyi deneyin (yetersiz bakiye nedeniyle dikkate alınmamalıdır)
    • Alice'in hesabına -50.0 yatırmayı deneyin (negatif miktar nedeniyle dikkate alınmamalıdır)
    • Önce Alice'in hesabı, ardından Bob'un hesabı için displayInfo() metodunu çağırın
    • BankAccount.getBankStats() kullanarak banka istatistiklerini yazdırın

displayInfo() metodu şu formatta 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