CodeBlanks Logo Icon CodeBlanks

Özet - Sınıflar

Sınıflarla bir banka hesabı modeli yazarsın.

Özet - Sınıflar

Bir BankAccount sınıfı; owner ve balance örnek alanlarını, static totalAccounts ile toplam hesap sayacını, constructor ve deposit metotlarını birleştirir. Her yeni hesapta sayaç artar.

class BankAccount {
  owner: string;
  balance: number;
  static totalAccounts: number = 0;
  constructor(owner: string) {
    this.owner = owner;
    this.balance = 0;
    BankAccount.totalAccounts++;
  }
  deposit(amount: number): void {
    this.balance += amount;
  }
}

Uygulama Banka hesabı sınıfı yaz

BankAccount sınıfını tanımla: owner: string ve balance: number alanları, static totalAccounts: number = 0 sayacı. constructor(owner: string) balance'ı 0 yapar ve BankAccount.totalAccounts'u artırır. deposit(amount: number): void metodu balance'a ekler. İki hesap oluştur, birine 100 yatır, balance ve totalAccounts yazdır.

Başlangıç kodu

index.ts
// BankAccount sınıfı tanımla (sahip ve bakiye)
// toplam hesap sayısı sınıf düzeyinde, başlangıç 0
// constructor sahip alır, bakiye 0 yapar, sayaç artar
// deposit metodu bakiyeye ekleme yapar
// iki hesap oluştur, birine 100 yatır
// bakiye ve toplam hesap sayısını yazdır

Örnek çözüm

index.ts
class BankAccount {
  owner: string;
  balance: number;
  static totalAccounts: number = 0;
  constructor(owner: string) {
    this.owner = owner;
    this.balance = 0;
    BankAccount.totalAccounts++;
  }
  deposit(amount: number): void {
    this.balance += amount;
  }
}

const a1 = new BankAccount("Ada");
const a2 = new BankAccount("Bob");
a1.deposit(100);
console.log(a1.balance);
console.log(BankAccount.totalAccounts);

Beklenen çıktı

100
2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir BankAccount sınıfında balance alanı hangi türde olmalıdır?

  • string
  • boolean
  • static
  • number Doğru cevap

Açıklama: Bakiye sayısal bir değer olduğu için number türünde olmalıdır. static bir tür değil, bir erişim belirtecidir; string ve boolean yanlış türlerdir.

2 Balance başlangıç değerini tamamla

Soru
constructor(owner: string) {
    this.owner = owner;
    this.balance = ____;
  }
Cevap
constructor(owner: string) {
    this.owner = owner;
    this.balance = 0;
  }

Açıklama: Yeni bir hesap açıldığında bakiye 0'dan başlar. 1 yanlış başlangıç, "0" string (number bekleniyor), null ise number değil.

3 Banka hesabı parçaları

Kavram Anlamı
class BankAccount Sınıf tanımı
constructor(owner: string) Kurucu metod
deposit(amount: number) Örnek metodu
static totalAccounts Sınıf düzeyinde sayaç

Orta seviye bölümündeki tüm dersler