2017-12-06 3 views
2

私の大学で私の現在のプロジェクトをしようとしています。私は抽象クラスのValueを与えられています、そして、私は基本的な型を変更する必要があります:int、文字列、オブジェクト(マップ)値に変換する。値は抽象コンストラクタになり、Valueから4つの異なる拡張クラスを作成する必要があります。それぞれの拡張クラスは、型の1つを取得して値に変換できます。私はgetメソッドのために作られたコード、私はそれはそれは以下のように値を戻すことが可能かどうかを知りたい...intをメソッド内でtypeオブジェクトに変換する方法。 Javaのみ

public class Number extends Value { 
    private Number k; 

     public Number(Number k) 
    { 
      super(); 
      this.k = k; 
    } 
     public Value get(int i) { 
      this.k=i; 
      return this;  
     } 
    } 

次がある追加

...大学によって与えられたスーパークラスであります/

答えて

1

あなたはこの

public abstract class Value { 

    public abstract Value get(int i); 

    public abstract Value get(String s); 
    } 

    public class Number extends Value { 
    private Number k; 
    private Object o; 

    public Number(Number k) { 
     super(); 
     this.k = k; 
    } 

    @Override 
    public Value get(int i) { 
     this.k.o = i; 
     return this; 
    } 

    @Override 
    public Value get(String s) { 
     this.k.o = s; 
     return this; 
    } 
    } 
+0

感謝のようないくつかのことを使用することができますが、問題がありますあなたがすべき別のコンストラクタを追加します。今度は、既存の番号オブジェクトだけで新しい番号オブジェクトを作成することができます。パブリックナンバー(int i)など。 – Xenheart

+0

あなたはNumberクラス – janith1024

+0

で「物体O」を追加することができます:私はスーパークラスを変更することはできませんよ、

public abstract class Value { public abstract Value get(int i); public abstract Value get(String s); } 

関連する問題