Целью работы является знакомство с основными конструкциями языка 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 конструктора:
Создайте следующий методы для:
Создайте метод getBestBook(), возвращающий книгу с самой высокой стоимостью.
Задание 4.
Создайте класс ChildrenLibrary, описывающий детскую библиотеку и содержащий массив залов.
Нумерация залов в библиотеке сквозная, начинается с 0.
Нумерация книг в библиотеке сквозная, начинается с 0 нулевого зала.
Создайте 2 конструктора:
Создайте методы получения:
Создайте еще методы:
Задание 5.
Объедините имеющиеся на данный момент типы в пакет libraries.
Проверьте работу классов, создав экземпляр библиотеки с различными произвольными значениями количества книг по залам. Добавьте книги в залы, библиотеки; измените книгу; измените зал; удалите книгу; для проверки каждого задания используйте методы распечатки списка залов и книг.
Выведите автора самой лучшей книги; выведите список названий книг по убыванию цены.
Гарантия на работу | 1 год |
Средний балл | 4.55 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |