【发布时间】:2021-03-09 12:08:29
【问题描述】:
例如,我有一个这样的类:
class SomeClass(val x:Int, val y: Int) {
def someMethod(a: Int = x, b: Int = y) = new SomeClass(x + 1, y + 1)
override def toString = x + " " + y
}
我希望在声明类时调用 someMethod。并且 someMethod 应该改变 x 和 y 的值。
所以当我执行代码时:
val sc = new SomeClass(2, 5)
print(sc)
我会期待这个结果:
3 6
你能帮我解决这个问题吗?
这是我需要的,但在 c# 中:
using System;
public class Program
{
public static void Main()
{
SomeClass sc = new SomeClass(2,5);
Console.WriteLine(sc);
}
}
public class SomeClass
{
int x, y;
public SomeClass(int x, int y)
{
this.x = someMethod(x);
this.y = someMethod(y);
}
int someMethod(int z)
{
return z + 1;
}
public override string ToString()
{
return x + " " + y;
}
}
【问题讨论】: