小弟没用过C#哪位高手能帮忙解释下面代码的,每句话实现了什么功能
小弟没用过C#,谁能帮忙解释下面代码的,每句话实现了什么功能?
小弟没用过C#,谁能帮忙解释下面代码的,每句话实现了什么功能?
public class Vector : IMatrix
{
private float cX, cY, cZ;
public Vector(float x, float y, float z)
{
X=x;
Y=y;
Z=z;
}
public float X
{
get---????
{
return cX;
}
set---????
{
cX=value;
}
}---????
public Vector Rotate(RotateMatrix rot)
{
return (Vector)rot.Rotate(this);
}---????
public Vector ScaleSize(float s)
{
return new Vector(X*s,Y*s,Z*s);
}---????
public double GetNum(int x, int y)
{
switch(y) {
case 0:
return (double)X;
case 1:
return (double)Y;
case 2:
return (double)Z;
}
throw (new System.Exception());
}---????
public int SizeX
{
get
{
return 1;
}
set
{
if (value!=3) throw (new System.Exception());---????
}
}
public object Clone()
{
return new Vector(X, Y, Z);
}---????
}
private void Stop(object sender, System.EventArgs e)
{
函数的2个参数----?
}
------解决方案--------------------
我没用过这个类,大概介绍一下吧。
小弟没用过C#,谁能帮忙解释下面代码的,每句话实现了什么功能?
public class Vector : IMatrix
{
private float cX, cY, cZ;
public Vector(float x, float y, float z)
{
X=x;
Y=y;
Z=z;
}
public float X
{
get---????
{
return cX;
}
set---????
{
cX=value;
}
}---????
public Vector Rotate(RotateMatrix rot)
{
return (Vector)rot.Rotate(this);
}---????
public Vector ScaleSize(float s)
{
return new Vector(X*s,Y*s,Z*s);
}---????
public double GetNum(int x, int y)
{
switch(y) {
case 0:
return (double)X;
case 1:
return (double)Y;
case 2:
return (double)Z;
}
throw (new System.Exception());
}---????
public int SizeX
{
get
{
return 1;
}
set
{
if (value!=3) throw (new System.Exception());---????
}
}
public object Clone()
{
return new Vector(X, Y, Z);
}---????
}
private void Stop(object sender, System.EventArgs e)
{
函数的2个参数----?
}
------解决方案--------------------
我没用过这个类,大概介绍一下吧。
- C# code
public class Vector : IMatrix { private float cX, cY, cZ; //定义一个结点的三维坐标 public Vector(float x, float y, float z) //构造函数,由三个坐标值生成一个Vector对象 { X=x; //分别对x,y,z初始化,不过我怀疑这里有问题应该是cX = x;以下类似 Y=y; Z=z; } //定义X属性 public float X { get---???? { return cX; } set---???? { cX=value; } }---???? //旋转节点。是以某人轴为基准旋转节点,这个在三维坐标系中有具体的矩阵算法,请参考计算机图形学的知识。 public Vector Rotate(RotateMatrix rot) { return (Vector)rot.Rotate(this); }---???? //缩放。原理同上。这两个方法都是返回一个新的结点。 public Vector ScaleSize(float s) { return new Vector(X*s,Y*s,Z*s); }---???? /* 这段代码的总体意思是根据参数y的结果返回不同维度的坐标。 比如,y=0返回x坐标。 如果y的值不正确,比如:3,没有这个坐标轴,则产生异常。 */ public double GetNum(int x, int y) { switch(y) { case 0: return (double)X; case 1: return (double)Y; case 2: return (double)Z; } throw (new System.Exception()); }---???? /* 这个我没明白意思.从语言上来说它是定义了一个属性,取值总为1,可设置? 这个应该用方法解决更好。 */ public int SizeX { get { return 1; } set { if (value!=3) throw (new System.Exception());---???? } } //复制一个结点。由于class是引用型对象。通过Clone方法完全复制了一些新对象。 public object Clone() { return new Vector(X, Y, Z); }---???? } /* 这个STOP无法判断功能。不过似乎是某个事件响应句柄。 */ private void Stop(object sender, System.EventArgs e) { 函数的2个参数----? }
------解决方案--------------------
没补充了,把分都给phy 吧,真是一个好心人.