我正在为考试创建一个Java项目。该项目要求我使用面向对象的编程来执行类似groupon的程序。 它要求我实现一个销售打折产品的计划。 我有假期,晚餐和普通物品。我决定创建一个超级产品,然后扩展它,创建其他三个类,晚餐,假期和对象。但它也要求我管理产品目录,使每个产品都有一个独特的标识符,我该怎么办?即使我创建了一个Catalog类,使用ArrayList管理产品,我如何为每个元素添加一个标识符?我还必须区分用户和管理员。他们中的每一个都可以做不同的事情,管理员可以添加和删除目录中的产品,查看有效的优惠并订购它们,并且可以看到不再负担得起的优惠。 用户可以注册到系统,购买积分,查看可用的优惠,购买东西,可以看到他购买的所有东西,按价格或购买日期对其进行分类。
我的问题是,我如何区分用户并允许他们做不同的事情?我必须在开始时允许登录操作,并为用户和管理员显示不同的按钮。可以帮帮我吗?让我知道如何管理这种情况? (他们应该是一个超级用户(用户),管理员可以扩展用户吗?)
谢谢!
答案 0 :(得分:0)
我假设您的产品和用户都有对象,您只需要为唯一ID添加另一个字段,并为特定用户是否为管理员添加字段。类似的东西:
public class Product
{
public int uniqueID;
public String productName;
// etc...
}
public class User
{
public boolean isAdministrator;
public String username;
// etc...
}
您可以将商品存储在ArrayList
中,并且可以通过访问该字段来告知每个唯一ID:
catalog.elementAt(x).uniqueID;
并通过访问该字段来检查用户是否为管理员:
if(user.isAdministrator)
他们应该是具有扩展用户的管理员的超类(用户)吗?
您也可以这样做,然后通过检查类型来检查用户是否是管理员:
if(user instanceof Administrator)