TGViewer
Вёрстка сайтов | HTML, CSS, JS Вёрстка сайтов | HTML, CSS, JS @free_html_lessons · 4.5K subscribers
Post #1461 1.16K
Задача: Управление библиотекой (на ООП)

Создайте классы для управления библиотекой книг. Вам нужно создать следующие классы:
Book — класс для представления книги.
Library — класс для управления коллекцией книг.
Класс Book
Класс Book должен иметь следующие свойства и методы:

Свойства:
title (название книги)
author (автор книги)
year (год издания книги)
genre (жанр книги)
Методы:

Конструктор для инициализации свойств
Метод getSummary() для получения краткой информации о книге в виде строки: "Title" by Author, published in Year (Genre)
Класс Library
Класс Library должен иметь следующие свойства и методы:

Свойства:
books (массив книг)

Методы:
Конструктор для инициализации свойства books пустым массивом
Метод addBook(book) для добавления книги в библиотеку
Метод removeBook(title) для удаления книги по названию
Метод findBooksByAuthor(author) для поиска книг по автору, возвращает массив книг
Метод findBooksByGenre(genre) для поиска книг по жанру, возвращает массив книг
Метод getAllBooks() для получения всех книг в библиотеке

Пример использования:
// Создание экземпляров книг
const book1 = new Book('To Kill a Mockingbird', 'Harper Lee', 1960, 'Fiction');
const book2 = new Book('1984', 'George Orwell', 1949, 'Dystopian');
const book3 = new Book('The Great Gatsby', 'F. Scott Fitzgerald', 1925, 'Fiction');
// Создание экземпляра библиотеки и добавление книг
const library = new Library();
library.addBook(book1);
library.addBook(book2);
library.addBook(book3);
// Поиск книг по автору
const orwellBooks = library.findBooksByAuthor('George Orwell');
console.log(orwellBooks);
// Поиск книг по жанру
const fictionBooks = library.findBooksByGenre('Fiction');
console.log(fictionBooks);
// Получение всех книг
const allBooks = library.getAllBooks();
console.log(allBooks);
// Удаление книги
library.removeBook('1984');
console.log(library.getAllBooks());


#домашка
  • 👍 4
  • ❤ 1
More from @free_html_lessons
  1. Oct 14, 2026Создаём красивую кнопку загрузки с анимацией на CSS Эффектная кнопка загрузки сделает ваш…
  2. Oct 13, 2026Как использовать псевдокласс :has() для навигации С помощью :has() можно улучшить UX меню.…
  3. Oct 12, 2026Как создать адаптивный текстовый градиент Градиенты в тексте — это модный тренд, который м…
  4. Oct 11, 2026Подборка лучших постов за прошлую неделю Лучшие статьи @free_html_lessons: 1. Атрибут rel=…
  5. Oct 9, 2026Post #3083
  6. Oct 9, 2026Макет для тренировки (florist man) Перейти к макету 🧑‍💻 #практика | #макет
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →