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 Book metoduna sahip bir toString() sınıfı oluşturdun. Şimdi, kitap ödünç alabilen kütüphane üyelerini temsil edecek bir User sınıfı ekleyerek kütüphane sistemini genişletmenin zamanı geldi.

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

  • book.dart: Bir Book özelliği (boolean) ekleyerek mevcut isAvailable sınıfını geliştir; bu özellik varsayılan olarak true değerine sahip olmalı. Bu özellik, bir kitabın ödünç alınıp alınamayacağını takip edecek.
  • user.dart: Kütüphane üyelerini temsil edecek yeni bir User sınıfı oluştur. Her kullanıcıda bir id (String), bir name (String) ve borrowedBooks nesnelerini tutan bir Book listesi bulunmalı. id ve name değerlerini başlatan, ödünç alınan kitaplar için boş bir liste kullanan bir kurucu ekle. toString() metodunu, ödünç alınan kitapların sayısının X olduğu User [id]: name (X books borrowed) biçimini döndürecek şekilde geçersiz kıl.
  • main.dart: Hem book hem de user dosyalarını içe aktar. ISBN'i 978-0-13-468599-1, başlığı The Pragmatic Programmer ve yazarı David Thomas olan bir kitap oluştur. id değeri U001 ve name değeri Alice Johnson olan bir kullanıcı oluştur. Önce kitabı, ardından Available: true veya Available: false biçimini kullanarak kitabın mevcut olup olmadığını yazdır. Kullanıcıyı yazdır. Ardından kitabı kullanıcının ödünç alınan kitaplar listesine ekle, kitabın isAvailable değerini false olarak ayarla ve güncellenen kitap sayısını göstermek için kullanıcıyı tekrar yazdır.

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

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

Kendi başına pratik yap: Online Dart derleyicisi