Menu
Coddy logo textTech

Classi Libro e Utente

Fa parte della sezione Programmazione orientata agli oggetti del percorso Dart di Coddy. Lezione 102 di 110.

challenge icon

Sfida

Facile

Nella lezione precedente, hai creato una classe Book con proprietà di base e un metodo toString(). Ora è il momento di ampliare il tuo sistema di biblioteca aggiungendo una classe User per rappresentare i membri della biblioteca che possono prendere in prestito i libri.

Dovrai creare un nuovo file e aggiornare quelli esistenti:

  • book.dart: migliora la classe Book esistente aggiungendo una proprietà isAvailable (booleano) che per impostazione predefinita è true. Questa proprietà servirà a tenere traccia della disponibilità di un libro per il prestito.
  • user.dart: crea una nuova classe User per rappresentare i membri della biblioteca. Ogni utente deve avere un id (String), un name (String) e un elenco borrowedBooks che contiene oggetti Book. Includi un costruttore che inizializzi l'id e il nome, con un elenco vuoto per i libri presi in prestito. Sovrascrivi toString() in modo che restituisca il formato User [id]: name (X books borrowed), dove X è il numero di libri presi in prestito.
  • main.dart: importa sia il file dei libri sia quello degli utenti. Crea un libro con ISBN 978-0-13-468599-1, titolo The Pragmatic Programmer e autore David Thomas. Crea un utente con id U001 e nome Alice Johnson. Stampa il libro, poi stampa se è disponibile usando il formato Available: true oppure Available: false. Stampa l'utente. Poi aggiungi il libro all'elenco dei libri presi in prestito dall'utente, imposta isAvailable del libro su false e stampa di nuovo l'utente per mostrare il conteggio aggiornato dei libri.

In questo modo stabilisci la relazione tra libri e utenti, su cui potrai basarti per implementare il sistema completo di prestito nella prossima lezione!

Risultato previsto:

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

Provalo tu

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

void main() {
  // TODO: Crea un libro con ISBN '978-0-13-468599-1', titolo 'The Pragmatic Programmer' e autore 'David Thomas'
  
  // TODO: Crea un utente con id 'U001' e nome 'Alice Johnson'
  
  // TODO: Stampa il libro
  
  // TODO: Stampa se il libro è disponibile usando il formato: Available: true/false
  
  // TODO: Stampa l'utente
  
  // TODO: Aggiungi il libro alla lista borrowedBooks dell'utente
  
  // TODO: Imposta isAvailable del libro su false
  
  // TODO: Stampa di nuovo l'utente per mostrare il numero aggiornato di libri
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Dart online