Menu
Coddy logo textTech

Kitap ve Kullanıcı Sınıfları

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

challenge icon

Görev

Kolay

Önceki derste, temel özelliklere ve bir toString() metoduna sahip bir Book sınıfı oluşturdunuz. Şimdi, kitap ödünç alabilen kütüphane üyelerini temsil etmek için bir User sınıfı ekleyerek kütüphane sisteminizi genişletme zamanı.

Yeni bir dosya oluşturmanız ve mevcut dosyalarınızı güncellemeniz gerekecek:

  • book.dart: Mevcut Book sınıfınızı, varsayılan değeri true olan bir isAvailable özelliği (boolean) ekleyerek geliştirin. Bu, bir kitabın ödünç alınıp alınamayacağını takip edecektir.
  • user.dart: Kütüphane üyelerini temsil etmek için yeni bir User sınıfı oluşturun. Her kullanıcının bir id (String), name (String) ve Book nesnelerini tutan bir borrowedBooks listesi olmalıdır. id ve name özelliklerini başlatan ve ödünç alınan kitaplar için boş bir liste oluşturan bir yapıcı (constructor) ekleyin. toString() metodunu, User [id]: name (X books borrowed) formatını döndürecek şekilde geçersiz kılın (override); burada X, ödünç alınan kitapların sayısıdır.
  • main.dart: Hem kitap hem de kullanıcı dosyalarınızı içe aktarın (import). ISBN numarası 978-0-13-468599-1, başlığı The Pragmatic Programmer ve yazarı David Thomas olan bir kitap oluşturun. id değeri U001 ve ismi Alice Johnson olan bir kullanıcı oluşturun. Kitabı yazdırın, ardından Available: true veya Available: false formatını kullanarak kitabın müsait olup olmadığını yazdırın. Kullanıcıyı yazdırın. Ardından kitabı kullanıcının ödünç alınan kitaplar listesine ekleyin, kitabın isAvailable özelliğini false olarak ayarlayın ve güncellenmiş kitap sayısını göstermek için kullanıcıyı tekrar yazdırın.

Bu, bir sonraki derste tam ödünç alma sistemini uygularken üzerine inşa edeceğiniz kitaplar ve kullanıcılar arasındaki ilişkiyi kurar!

Beklenen çıktı:

[978-0-13-468599-1] The Pragmatic Programmer by David Thomas
Available: true
User U001: Alice Johnson (0 books borrowed)
User U001: Alice Johnson (1 books borrowed)

Kendin dene

import 'book.dart';
// TODO: user.dart dosyasını içe aktarın

void main() {
  // TODO: ISBN '978-0-13-468599-1', başlık 'The Pragmatic Programmer' ve yazar 'David Thomas' olan bir kitap oluşturun
  
  // TODO: ID 'U001' ve isim 'Alice Johnson' olan bir kullanıcı oluşturun
  
  // TODO: Kitabı yazdırın
  
  // TODO: Kitabın uygun olup olmadığını şu formatta yazdırın: Available: true/false
  
  // TODO: Kullanıcıyı yazdırın
  
  // TODO: Kitabı kullanıcının borrowedBooks listesine ekleyin
  
  // TODO: Kitabın isAvailable değerini false olarak ayarlayın
  
  // TODO: Güncellenmiş kitap sayısını göstermek için kullanıcıyı tekrar yazdırın
}

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