Menu
Coddy logo textTech

Klasy książek i użytkowników

Część sekcji Programowanie obiektowe ścieżki Dart w Coddy. Lekcja 102 z 110.

challenge icon

Wyzwanie

Łatwy

W poprzedniej lekcji utworzyłeś klasę Book z podstawowymi właściwościami i metodą toString(). Teraz czas rozbudować system biblioteczny, dodając klasę User, która będzie reprezentować członków biblioteki mogących wypożyczać książki.

Musisz utworzyć nowy plik i zaktualizować istniejące pliki:

  • book.dart: Rozbuduj istniejącą klasę Book, dodając właściwość isAvailable (boolean), której wartością domyślną jest true. Będzie ona określać, czy można wypożyczyć książkę.
  • user.dart: Utwórz nową klasę User, która będzie reprezentować członków biblioteki. Każdy użytkownik powinien mieć id (String), name (String) oraz listę borrowedBooks zawierającą obiekty Book. Dodaj konstruktor inicjalizujący id i name oraz ustawiający pustą listę wypożyczonych książek. Nadpisz toString(), aby zwracała format User [id]: name (X books borrowed), gdzie X to liczba wypożyczonych książek.
  • main.dart: Zaimportuj pliki book i user. Utwórz książkę o ISBN 978-0-13-468599-1, tytule The Pragmatic Programmer i autorze David Thomas. Utwórz użytkownika o id U001 i imieniu Alice Johnson. Wypisz książkę, a następnie informację, czy jest dostępna, używając formatu Available: true lub Available: false. Wypisz użytkownika. Następnie dodaj książkę do listy wypożyczonych książek użytkownika, ustaw isAvailable książki na false i ponownie wypisz użytkownika, aby pokazać zaktualizowaną liczbę książek.

W ten sposób określisz relację między książkami a użytkownikami, którą wykorzystasz przy implementacji pełnego systemu wypożyczania w następnej lekcji!

Oczekiwany wynik:

[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)

Spróbuj swoich sił

import 'book.dart';
// TODO: Zaimportuj user.dart

void main() {
  // TODO: Utwórz książkę o numerze ISBN '978-0-13-468599-1', tytule 'The Pragmatic Programmer' i autorze 'David Thomas'
  
  // TODO: Utwórz użytkownika z identyfikatorem 'U001' i imieniem i nazwiskiem 'Alice Johnson'
  
  // TODO: Wyświetl książkę
  
  // TODO: Wyświetl informację, czy książka jest dostępna, w formacie: Available: true/false
  
  // TODO: Wyświetl użytkownika
  
  // TODO: Dodaj książkę do listy borrowedBooks użytkownika
  
  // TODO: Ustaw isAvailable książki na false
  
  // TODO: Wyświetl użytkownika ponownie, aby pokazać zaktualizowaną liczbę książek
}

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Dart online