【发布时间】:2012-11-30 03:09:36
【问题描述】:
有没有更好的方法来做我正在做的事情:
class Sample {
int SampleValueX, SampleValueY;
string SampleFacing;
public Sample(int samplevaluex, string samplefacing)
{
SampleValueX = startpositionx;
SampleValueY = 0;
SampleFacing = samplefacing;
}
public Sample(int samplevaluey, string samplefacing)
{
SampleValueX = 0;
SampleValueY = startpositionx;
SampleFacing = samplefacing;
}
}
这甚至被称为构造函数重载吗?如果我错了,请纠正我。
【问题讨论】:
-
当您在方法(或 ctor)上具有相同顺序的参数类型时,它将不允许您编译。
-
呃...相同的构造函数(参数类型)但不同的逻辑?更好地使用具有适当名称(createX、createYSample)的静态函数,并赋予构造函数设置所有 3 个成员的权力
-
签名需要不同,因为你的签名是 Sample(int, string) ,所以你所拥有的将不起作用
-
@Najzero 你能扩展给构造函数设置所有 3 个成员的权力吗?
-
@Anicho 看到 levelnis 的答案。当您实例化一个对象时,只需传递您想要的值(x/y 或两者)。
标签: c# oop constructor