Menu
Coddy logo textTech

Classes de Livros e Usuários

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: aprimore sua classe Book existente adicionando uma propriedade isAvailable (booleano) que tenha como padrão true. Isso controlará 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), um name (String) e uma lista borrowedBooks que contenha objetos Book. Inclua um construtor que inicialize o id e o name, com uma lista vazia para os livros emprestados. Substitua toString() para retornar o formato User [id]: name (X books borrowed), em que X é a quantidade de livros emprestados.
  • main.dart: importe os arquivos de livro e 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. Depois, 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 atualizada de livros.

Isso estabelece a relação entre livros e usuários sobre a qual você se baseará ao implementar o sistema completo de empréstimos 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

Pratique por conta própria: Compilador de Dart online