小弟没用过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个参数----?
}

解决方案 »

  1.   

    我没用过这个类,大概介绍一下吧。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个参数----? 
    }
      

  2.   

    get---啥功能?

    return cX; 

    set---啥功能? 

    cX=value; 

    private void Stop(object sender, System.EventArgs e) 

                函数的2个参数----? 
    }谢谢高手。
      

  3.   


    /*
    get和set是C#中定义类的属性成员的两个访问方法,分别用于取得某个属性的值和设置某个属性的值。
    */
    get---啥功能?    

    return cX; 

    set---啥功能? 

    cX=value; 

    //这里的第二个参数是一个事件的参数。带这种参数的事件很多,没办法确定是什么。
    private void Stop(object sender, System.EventArgs e) 

                函数的2个参数----? 
    } 属性的示例:public class A
    {
        private int m;
        public int M
        {
          get {return m;}
          set {m = value;}
        }
    }上面这段代码的例子,定义了一个类的数据成员m和一个属性M。假设有一个A对象,则可以通过两种方法访问它的属性:A a = new A();
    int k = a.M;       //执行了Get,k为a中m的值。
    a.M = k;           //执行了Set,a中的m为k的值。
      

  4.   

    没补充了,把分都给phy 吧,真是一个好心人.