Menu
Coddy logo textTech

Classes Livro e Usuário

Parte da seção Programação Orientada a Objetos do Journey de Dart da Coddy — lição 102 de 110.

challenge icon

Desafio

Fácil

Na lição anterior, você criou uma classe Book com propriedades básicas e um método toString(). Agora é hora de expandir seu sistema de biblioteca adicionando uma classe User para representar os membros da biblioteca que podem pegar livros emprestados.

Você precisará criar um novo arquivo e atualizar seus arquivos existentes:

  • book.dart: Melhore sua classe Book existente adicionando uma propriedade isAvailable (booleana) que tem como padrão true. Isso rastreará se um livro pode ser emprestado.
  • user.dart: Crie uma nova classe User para representar os membros da biblioteca. Cada usuário deve ter um id (String), name (String) e uma lista borrowedBooks que contém objetos Book. Inclua um construtor que inicialize o id e o nome, com uma lista vazia para os livros emprestados. Sobrescreva toString() para retornar o formato User [id]: name (X books borrowed) onde X é a contagem de livros emprestados.
  • main.dart: Importe os arquivos do livro e do usuário. Crie um livro com ISBN 978-0-13-468599-1, título The Pragmatic Programmer e autor David Thomas. Crie um usuário com id U001 e nome Alice Johnson. Imprima o livro e, em seguida, imprima se ele está disponível usando o formato Available: true ou Available: false. Imprima o usuário. Em seguida, adicione o livro à lista de livros emprestados do usuário, defina o isAvailable do livro como false e imprima o usuário novamente para mostrar a contagem de livros atualizada.

Isso estabelece o relacionamento entre livros e usuários que você desenvolverá ao implementar o sistema de empréstimo completo na próxima lição!

Saída esperada:

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

Experimente você mesmo

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

void main() {
  // TODO: Criar um livro com ISBN '978-0-13-468599-1', title 'The Pragmatic Programmer' e author 'David Thomas'
  
  // TODO: Criar um usuário com id 'U001' e name 'Alice Johnson'
  
  // TODO: Imprimir o livro
  
  // TODO: Imprimir se o livro está disponível usando o formato: Available: true/false
  
  // TODO: Imprimir o usuário
  
  // TODO: Adicionar o livro à lista borrowedBooks do usuário
  
  // TODO: Definir o isAvailable do livro como false
  
  // TODO: Imprimir o usuário novamente para mostrar a contagem de livros atualizada
}

Todas as lições de Programação Orientada a Objetos