Пожалуйста, решите этот вопрос о java
Этот вопрос касается проектирования классов Java. \
Во - первых, ознакомьтесь со следующим описанием системы онлайн-покупок книг:
Онлайн - система продает целый ряд книг. Каждая книга в системе имеет уникальный
идентификатор (положительное целое число), цена (представленная в виде действительного числа), а также
строки, представляющие его название, автора и издателя. Кроме того, в каждой книге есть
целочисленное свойство, представляющее количество экземпляров этой книги на складе; если
число равно нулю, то книга отсутствует на складе, в противном случае она доступна.
Пользователи могут поместить книги в корзину покупок в интернете. Для простоты предположим, что пользователь поместит в корзину только один экземпляр каждой книги. То
корзина покупок предоставляет только возможность добавить книгу в корзину; в это время,
нет никакой поддержки для удаления книги. Книга добавляется в корзину только в том случае, если она
находится (i) еще не в корзине и (ii) не отсутствует в наличии.
(a) написать определение класса для книги, включающее все атрибуты, упомянутые выше. Вы
следует также определить открытый конструктор для книги, который должен инициализировать все поля экземпляра разумными значениями. Конструктор должен присвоить каждому экземпляру уникальное значение идентификатора.
Вам не нужно определять какие-либо методы экземпляра.
(b) напишите определение класса для ShoppingBasket, включив в него функциональность добавления книг, упомянутую выше. Можно предположить, что класс Book предоставляет все необходимые методы get/set. Если одно из условий добавления книги в корзину будет нарушено, ваша реализация
следует бросить IllegalArgumentException вместо того, чтобы добавлять его.
в) представьте себе, что торговая система должна быть расширена, чтобы продавать компакт-диски в дополнение к книгам. Опишите, как вы изменили бы классы, определенные выше, чтобы справиться с этой ситуацией. Вы можете
проиллюстрируйте свой ответ фрагментами исходного кода Java, но это не обязательно
Что я уже пробовал:
Нужно ли мне использовать сканер и объяснять здесь объявление переменной экземпляра и метода в этом случае
phil.o
Вы предоставляете растворитель, или мы должны принести свой собственный?