Создание классов. Наследование и агрегация.

Отменен
Заказ
4984632
Раздел
Программирование
Антиплагиат
Не указан
Срок сдачи
22 Окт 2022 в 22:55
Цена
500 ₽
Блокировка
10 дней
Размещен
18 Окт 2022 в 12:53
Просмотров
126
Описание работы

Целью работы является знакомство с основными конструкциями языка Java, принципами создания классов и объектов, наследованием и агрегацией на практическом примере.

В процессе выполнения задания НЕЛЬЗЯ пользоваться утилитными классами Java.

Задание 1.

Создайте класс Book, описывающий книгу.

Каждая книга содержит: автора, название, стоимость в рублях и год издания.

Создайте для каждого атрибута книги закрытую переменную-член класса соответствующего типа. 

Конструктор по умолчанию должен создавать книгу с параметрами:

«Не определено», «Не определено», 0.0, 0.

Второй конструктор должен принимать все 4 параметра: автора, название, стоимость в рублях и год издания.

Напишите третий конструктор, который имеет 2 параметра: автора и год издания (Используйте вызов конструктора по умолчанию).

Для каждого атрибута создайте методы получения и установки значения.

Задание 2. 

Создайте класс ChildrenBook, описывающий книгу для детей, расширяющий классBook. Книга для детей имеет еще один параметр – минимальный возраст, с которого можно читать книгу (в годах).

Создайте соответствующую переменную, методы получения и установки значения.

Создайте 3 конструктора: по умолчанию (мин. возраст = 0), с двумя параметрами (как в задании 1) и с полным списком параметров. При разработке конструкторов используйте вызовы конструкторов суперкласса.

Создайте класс ScientificBook, описывающий научную книгу, расширяющий классBook. Научная книга имеет дополнительный параметр – индекс цитируемости (вещественное число).

Создайте соответствующую переменную, методы получения и установки значения.

Создайте 3 конструктора: по умолчанию (индекс цитирования = 0.0), с двумя параметрами (как в задании 1) и с полным списком параметров. При разработке конструкторов используйте вызовы конструкторов суперкласса.

Задание 3.

Создайте класс ChildrenLibraryHall, описывающий детский зал библиотеки, который хранит массив книг для детей.

Зал имеет имя (например «12+» или «6+»).

Нумерация книг сквозная, начинается с 0 и соответствует индексу в массиве. Номер книги не хранится.

Создайте соответствующие переменные и методы чтения/установки значений.

Создайте 2 конструктора: 

  1. принимающий имя зала и кол-во книг в зале;
  2. принимающий имя зала и массив книг.

Создайте следующий методы для:

  • получения количества книг в зале;
  • выводящий на экран список названий всех книг в зале;
  • получения общей стоимости всех книг в зале;
  • получения книги по ее номеру в зале;
  • изменения книги по ее номеру;
  • добавления книги;
  • удаления книги.

Создайте метод getBestBook(), возвращающий книгу с самой высокой стоимостью.

Задание 4.

Создайте класс ChildrenLibrary, описывающий детскую библиотеку и содержащий массив залов.

Нумерация залов в библиотеке сквозная, начинается с 0.

Нумерация книг в библиотеке сквозная, начинается с 0 нулевого зала.

Создайте 2 конструктора:

  • принимающий количество залов и массив количеств книг по залам;
  • принимающий массив залов.

Создайте методы получения:

  • количества залов;
  • количества книг;
  • сумму всех книг в библиотеке;
  • массива залов библиотеки;
  • объекта зала по его номеру в библиотеке;
  • объекта книги по его номеру в библиотеке;
  • отсортированного по убыванию цены массива книг библиотеки.

Создайте еще методы:

  • выводящий на экран список названий всех залов с количеством книг в них;
  • замена зала по его номеру на другой (ссылка на новый зал передается вторым параметром);
  • замена книги по ее номеру на другую (ссылка на другую книгу передается вторым параметром);
  • добавление книги в библиотеку по ее номеру в библиотеке; ссылка на новую книгу – второй параметр метода; количество залов не увеличивается;
  • удаление квартиры по ее номеру в библиотеке; 
  • метод getBestBook()получение самой лучшей книги в библиотеке (с самой большой ценой).

Задание 5.

Объедините имеющиеся на данный момент типы в пакет libraries.

Проверьте работу классов, создав экземпляр библиотеки с различными произвольными значениями количества книг по залам. Добавьте книги в залы, библиотеки; измените книгу; измените зал; удалите книгу; для проверки каждого задания используйте методы распечатки списка залов и книг. 

Выведите автора самой лучшей книги; выведите список названий книг по убыванию цены.

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.55
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир