2011-07-29 16 views
2

コンストラクタのスカラーとロジックに関する質問があります。私は、次のコードを考えてみましょう:スカラのコンストラクタ、ロジックと継承

class A(val x:Int) {...whatever...} 

class B(val y:String) extends A(IntValueDerivedFrom_y) 

を、どのように私は、Yからいくつかの値を導出し、クラスAのコンストラクタにそれを渡されたのでしょうか?私はそれが私が尋ねるものが理解できることを願っています。

ありがとうございます!

答えて

4

わかりません。 あなたはどこyが表示されます任意の式を表しますf(y)

class B(val y: String) extends A(f(y)) 

を行うことができます。例えば、Integer.parseInt(y)

これは、Javaコード

class B extends A { 
    public B(String y) { 
     super(Integer.parseInt(y)); 
    } 
} 

に近いですが、あなたが何を望むかということですか?

+0

そうです。私はそのアプローチを前に試みましたが、私の場合のfはコンパイラが見つけられなかったクラス自体の中で定義されていました(明らかに)。私はオブジェクトbに移動し、今正しく動作します。ありがとう! – Arg