Пользователь и администратор Java Project
Я создаю проект Java для моего экзамена. Проект просит меня создать программу, подобную группону, используя объектно-ориентированное программирование. Он просит меня реализовать программу по продаже товаров со скидкой. У меня есть праздники, обеды и обычные предметы. Я решил создать продукт суперкласса, а затем расширить его, создав остальные три класса, обеды, праздники и объекты. Но он также просит меня управлять каталогом продуктов, которые имеют для каждого продукта уникальный идентификатор, как я могу? Даже если я создаю класс Catalog, управляя продуктом с помощью ArrayList, как я могу добавить идентификатор для каждого элемента? Я также должен различать пользователей и администраторов. Каждый из них может делать разные вещи, администратор может добавлять и удалять продукты из каталога, просматривать активные предложения и заказывать их, а также видеть недоступные предложения. Пользователь может зарегистрироваться в системе, купить кредиты, посмотреть доступные предложения, купить что-то и увидеть все, что он купил, отсортировав их по цене или по дате покупки.
У меня вопрос, как я могу отличить пользователей и позволить им делать разные вещи? Я должен разрешить вход в систему в начале и показать разные кнопки для пользователей и администраторов. Может ли мне помочь? Дайте мне представление о том, как управлять ситуацией? (Должны ли они быть суперклассом (пользователем) с администратором, который расширяет пользователя?)
Спасибо!
1 ответ
Я предполагаю, что у вас есть объекты для ваших продуктов и пользователей, вам просто нужно добавить еще одно поле для уникального идентификатора и поле для того, является ли конкретный пользователь администратором. Что-то вроде:
public class Product
{
public int uniqueID;
public String productName;
// etc...
}
public class User
{
public boolean isAdministrator;
public String username;
// etc...
}
Вы можете хранить свои продукты в ArrayList
и сможете узнать, что представляет собой каждый уникальный идентификатор, открыв это поле:
catalog.elementAt(x).uniqueID;
и проверьте, является ли пользователь администратором, открыв поле:
if(user.isAdministrator)
Должны ли они быть суперклассом (пользователем) с администратором, который расширяет пользователя?
Вы также можете сделать это таким образом, затем вы проверите, является ли пользователь администратором, проверив тип:
if(user instanceof Administrator)