这里使用什么类型的构造函数/方法?
What type of constructor / method is used here?
我正在寻找一种计算复数加法的方法,我看到了这个例子,但有一部分我不明白。这是 class:
的全部代码
class Complex
{
public int real, imaginary;
public Complex()
{
}
public Complex(int tempReal , int tempImaginary)
{
real = tempReal;
imaginary = tempImaginary;
}
public Complex addComp(Complex C1 , Complex C2)
{
Complex temp = new Complex();
temp.real = C1.real + C2.real;
temp.imaginary = C1.imaginary + C2.imaginary;
return temp;
}
}
写的部分:
public Complex addComp(Complex C1 , Complex C2)
我的问题首先是这是构造函数还是方法?我的下一个问题是为什么 Complex 写在 addComp[=23= 后面]?这怎么可能,它有什么意义?
addComp
是一种方法,但是写的很烂!
观察:
addComp
应该 是 static
并采用两个参数,或者是非 static
并采用 一个;大多数情况下,实例方法不应忽略 this
值
addComp
几乎可以肯定是二进制 +
运算符,在上述情况下会是 static
(C# 允许您重载许多运算符,包括 +
)
Complex
可能应该是 readonly struct
,而不是 class
- 具有合适的运算符和重载,支持 IEquatable<Complex>
,等等
real
和 imaginary
应该是 properties,而不是 public fields
我正在寻找一种计算复数加法的方法,我看到了这个例子,但有一部分我不明白。这是 class:
的全部代码 class Complex
{
public int real, imaginary;
public Complex()
{
}
public Complex(int tempReal , int tempImaginary)
{
real = tempReal;
imaginary = tempImaginary;
}
public Complex addComp(Complex C1 , Complex C2)
{
Complex temp = new Complex();
temp.real = C1.real + C2.real;
temp.imaginary = C1.imaginary + C2.imaginary;
return temp;
}
}
写的部分:
public Complex addComp(Complex C1 , Complex C2)
我的问题首先是这是构造函数还是方法?我的下一个问题是为什么 Complex 写在 addComp[=23= 后面]?这怎么可能,它有什么意义?
addComp
是一种方法,但是写的很烂!
观察:
addComp
应该 是static
并采用两个参数,或者是非static
并采用 一个;大多数情况下,实例方法不应忽略this
值addComp
几乎可以肯定是二进制+
运算符,在上述情况下会是static
(C# 允许您重载许多运算符,包括+
)Complex
可能应该是readonly struct
,而不是class
- 具有合适的运算符和重载,支持IEquatable<Complex>
,等等real
和imaginary
应该是 properties,而不是 public fields