2011-07-29 69 views
2

我有一个关于构造函数中的scala和逻辑的问题。假设我有以下代码:斯卡拉构造函数,逻辑和继承

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

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

现在,我将如何从y派生一些值并将它传递给类A的构造函数?我希望这是可以理解的,我问。

感谢您的答案!

回答

4

不知道我明白。 您可以为任意表达式做

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

f(y)摊位,出现y。例如,Integer.parseInt(y)

这是接近Java代码

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

这是你想要的吗?

+0

是的就是这样。我之前尝试过这种方法,但在我的情况下,f是在类本身内定义的,编译器找不到(显然)。我将它移到了对象b上,现在它工作正常。谢谢! – Arg