2017-07-06 10 views
-2

基本階層Itemを作成します。 各Itemには、String名とint項目IDがあります。 これらの変数は、Itemの各サブクラスで設定されます。 Itemクラスは2つの変数を宣言し、Item (パブリッククラスHammer extends Item)の各サブクラスは名前とitemIDを設定します。 たとえば、name = "hammer"、itemID = 01などです。 これを効率的かつ効果的に行うにはどうすればよいですか?有効なクラス階層を作成する方法

+0

? –

+1

"効率的かつ効果的に"は何を意味しますか? [ask]を読んでください。あなたはより良い結果を得るでしょう。多分javaチュートリアルを読むことを始めるでしょう.https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html – OldProgrammer

+0

あなたはスーパークラスでこの変数を置くことができます。すべてのアイテムで共有されるすべてのアイテムと魂を共有できますアイテムクラス –

答えて

0

基本クラスは、2つの最終的なプライベートフィールド(nameとitemid)を宣言します。 これらの値は、基本クラスのコンストラクタを介して設定されます。

それぞれの派生クラスは、適切な名前とitemid値を持つ基本クラスコンストラクタを呼び出します。例えば

:あなたがこれまでに試してみました何

public abstract class Blam 
{ 
    private final int itemId; 
    private final String name; 

    protected(
     final int itemId, 
     final String name) 
    { 
     this.itemId = itemId; 
     this.name = name; 
    } 
} 


public class Derived 
extends 
    Blam 
{ 
    public Derived() 
    { 
     super(123, "nameValue"); 
    } 
} 
+0

コードの微妙な変更は、私が必要とされていた場所に私をもたらしました。私はObject Orientationが主な「セールスポイント」であるため、Javaで本を1つまたは2つ購入する予定です。今のところ、私は迅速な答えに感謝します。 – Curt15pb

関連する問題