Menu
Coddy logo textTech

Классы Book и User

Часть раздела Объектно-ориентированное программирование путешествия по Dart на Coddy — урок 102 из 110.

challenge icon

Задание

Легко

В предыдущем уроке вы создали класс Book с базовыми свойствами и методом toString(). Теперь пришло время расширить вашу библиотечную систему, добавив класс User для представления членов библиотеки, которые могут брать книги.

Вам нужно будет создать новый файл и обновить существующие файлы:

  • book.dart: Улучшите существующий класс Book, добавив свойство isAvailable (boolean), которое по умолчанию равно true. Это позволит отслеживать, можно ли взять книгу.
  • user.dart: Создайте новый класс User для представления членов библиотеки. У каждого пользователя должны быть id (String), name (String) и список borrowedBooks, содержащий объекты Book. Включите конструктор, который инициализирует id и name, с пустым списком для заимствованных книг. Переопределите toString(), чтобы он возвращал формат User [id]: name (X books borrowed), где X — количество заимствованных книг.
  • main.dart: Импортируйте файлы книги и пользователя. Создайте книгу с ISBN 978-0-13-468599-1, названием The Pragmatic Programmer и автором David Thomas. Создайте пользователя с id U001 и именем Alice Johnson. Выведите информацию о книге, затем выведите, доступна ли она, используя формат Available: true или Available: false. Выведите информацию о пользователе. Затем добавьте книгу в список заимствованных книг пользователя, установите свойство книги isAvailable в значение false и снова выведите информацию о пользователе, чтобы показать обновленное количество книг.

Это установит связь между книгами и пользователями, на которой вы будете основываться при реализации полноценной системы заимствования в следующем уроке!

Ожидаемый результат:

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

Попробуйте сами

import 'book.dart';
// TODO: Импортируйте user.dart

void main() {
  // TODO: Создайте книгу с ISBN '978-0-13-468599-1', title 'The Pragmatic Programmer' и author 'David Thomas'
  
  // TODO: Создайте пользователя с id 'U001' и name 'Alice Johnson'
  
  // TODO: Выведите книгу
  
  // TODO: Выведите, доступна ли книга, используя формат: Available: true/false
  
  // TODO: Выведите пользователя
  
  // TODO: Добавьте книгу в список borrowedBooks пользователя
  
  // TODO: Установите значение isAvailable книги в false
  
  // TODO: Снова выведите пользователя, чтобы показать обновленное количество книг
}

Все уроки раздела Объектно-ориентированное программирование