2

試験用の Java プロジェクトを作成しています。このプロジェクトでは、オブジェクト指向プログラミングを使用してグルーポンのようなプログラムを作成するように依頼されています。割引商品を販売するプログラムを実現するよう求められます。私は休日、夕食、通常のオブジェクトを持っています。スーパークラスの Product を作成し、それを拡張して他の 3 つのクラス、ディナー、休日、およびオブジェクトを作成することにしました。しかし、製品のカタログを管理して、すべての製品に一意の識別子を持たせることも求められます。どうすればよいですか? Catalog クラスを作成し、ArrayList で製品を管理している場合でも、各要素に識別子を追加するにはどうすればよいですか? また、ユーザーと管理者を区別する必要があります。それぞれが異なることを行うことができます。管理者は、カタログから製品を追加および削除したり、アクティブなオファーを表示して注文したり、手頃な価格で提供されなくなったオファーを表示したりできます。

私の質問は、どうすればユーザーを区別し、ユーザーが別のことをできるようにすることができますか? 最初にログイン操作を許可し、ユーザーと管理者に異なるボタンを表示する必要があります。私を助けることができますか?状況を管理する方法を教えてください。(ユーザーを拡張する管理者を持つスーパークラス(ユーザー)にする必要がありますか?)

ありがとう!

4

1 に答える 1

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)
于 2014-01-21T17:50:22.323 に答える