Пользователь и администратор 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)
Другие вопросы по тегам