Menu
Coddy logo textTech

Yönetici Arayüzü

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

challenge icon

Görev

Kolay

Önceki derste, Library sınıfınıza arama işlevselliği eklediniz. Şimdi, ayrıcalıklı kullanıcıların kütüphanenin envanterini yönetmesine — yeni kitaplar eklemesine ve mevcut kitapları kaldırmasına — olanak tanıyan bir yönetici arayüzü oluşturalım.

Yeni bir Admin sınıfı tanıtacak ve Library sınıfınızı yönetim yetenekleriyle geliştireceksiniz:

  • book.dart: Mevcut Book sınıfınızı değiştirmeden koruyun.
  • user.dart: Mevcut User sınıfınızı değiştirmeden koruyun.
  • admin.dart: Kütüphane yöneticilerini temsil eden yeni bir Admin sınıfı oluşturun. Bir yöneticinin bir id (String) ve bir name (String) değeri vardır. toString() metodunu, Admin [id]: name döndürecek şekilde geçersiz kılın.
  • library.dart: Library sınıfınıza yönetim işlevselliği ekleyin:
    • Kayıtlı yöneticileri depolamak için bir liste ekleyin
    • registerAdmin(Admin admin) - bir yöneticiyi kütüphaneye ekler
    • addBookAsAdmin(String adminId, Book book) - yönetici mevcutsa kitabı ekler ve adminId added "title" yazdırır. Yönetici mevcut değilse Unauthorized yazdırın.
    • removeBook(String adminId, String isbn) - yönetici ve kitap mevcutsa kitabı kütüphaneden kaldırır ve adminId removed "title" yazdırır. Yönetici mevcut değilse Unauthorized yazdırın. Kitap mevcut değilse Book not found yazdırın.
    • getBookCount() - kütüphanedeki toplam kitap sayısını döndürür
  • main.dart: Yönetici arayüzünü gösterin. Bir Library oluşturun ve bir yönetici (A001, Sarah Admin) kaydedin. Üç kitap eklemek için yöneticiyi kullanın:
    • 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
    • 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
    • 978-0-13-235088-4, Clean Code, Robert Martin
    Kitap sayısını Total books: X olarak yazdırın. Ardından, kayıtlı olmayan bir yönetici kimliği olan A999 ile bir kitap eklemeyi deneyin. İkinci kitabı kayıtlı yöneticiyi kullanarak kaldırın. Son kitap sayısını yazdırın.

Beklenen çıktı:

A001 added "The Pragmatic Programmer"
A001 added "JavaScript: The Good Parts"
A001 added "Clean Code"
Total books: 3
Unauthorized
A001 removed "JavaScript: The Good Parts"
Total books: 2

Kendin dene

import 'book.dart';
import 'user.dart';
import 'library.dart';
import 'admin.dart';

void main() {
  // TODO: Bir Kütüphane oluşturun
  
  // TODO: Bir yönetici oluşturun ve kaydedin (A001, Sarah Admin)
  
  // TODO: Yöneticiyi kullanarak üç kitap ekleyin:
  // - 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
  // - 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
  // - 978-0-13-235088-4, Clean Code, Robert Martin
  
  // TODO: Kitap sayısını "Total books: X" şeklinde yazdırın
  
  // TODO: Kayıtlı olmayan bir yönetici kimliği (A999) ile kitap eklemeyi deneyin
  
  // TODO: Kayıtlı yöneticiyi kullanarak ikinci kitabı (978-0-596-51774-8) silin
  
  // TODO: Nihai kitap sayısını yazdırın
}

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

Kendi başına pratik yap: Online Dart derleyicisi