在程序设计里面,经常使用到变量,比如
String ShangPinID; 
SahngPinID=1
这是最普通的应用方法了,定义变量之后直接就赋值,很简单很直接,我从来都是使用这样的操作方法:
但是,在网上经常遇到这样的问题:
public class Stat_Class
    {
        private String ShangPinID; //商品ID
        private String Sp_Name; //商品名称
        private decimal Sp_Price; //商品价格
        private int Sp_Quan; //商品数量        public string ItemID
        {
            get { return ShangPinID; }
            //set { ShangPinID = value; }
        }        public string ShangpinName
        {
            get { return Sp_Name; }
            //set { Sp_Name = value; }
        }
        //构造方法,初始化商品的各个属性
        public Stat_Class(string ItemID, string ShangpinName, decimal Price, int Quantity)
        {
            ShangPinID = ItemID;
            Sp_Name = ShangpinName;
            Sp_Price = Price;
            Sp_Quan = Quantity;
        }
即使用构造函数通过GET 或SET来获得和取得变量的值,不知道为什么要这样做,难道这样做比直接赋值使用的办法更好吗,本人一直弄不明白,高人能否说明白,

解决方案 »

  1.   

    其实就是为了使用方便,定义这样的构造函数之后就可以使用:
    Stat_Class cls = new Stat_Class(ItemID, ShangpinName, Price, Quantity);
      

  2.   

    属性:C#封装方法的体现,隐藏了内部的变量,只给外部提供接口,比如在你的代码中:public string ItemID
    {
    get { return ShangPinID; }
    //set { ShangPinID = value; }
    }你的ItemID是只读的,因为它只有get操作符,不能写(set被你注释掉了),而如果你直接向外部公开ShangPinID变量就没这么容易实现只读的目的;更重要的是,你可以在get/set时加入你自定义的逻辑在里面,比如你想定义一个属性来存放 ShangPinID + "&" + Sp_Name,就可以这样写:public string ItemID
    {
       get { return ShangPinID + "&" + Sp_Name; }
    }这样引用的只引用ItemID就行了,不用写更多的代码;自己的一些体会,第一次回贴,如果有用请给点分呵呵
      

  3.   

    告诉我好吗,这都是别人的号,我上的,他已经不NET拉,我是初学习的,能说吗
    沟沿信誉,我简直就是不知道为什么啊
      

  4.   

    大家就举个例子吧
    像这样的文件代码
    public Stat_Class(string ItemID, string ShangpinName, decimal Price, int Quantity)
            {
                ShangPinID = ItemID;
                Sp_Name = ShangpinName;
                Sp_Price = Price;
                Sp_Quan = Quantity;
            }
    应该放在什么地方另外,又在什么地方如何调用上面的方法
    本人使用的是VS2005,刚开始接触,还是不懂
      

  5.   

    那个没返回类型,是构造方法,new的时候调用Stat_Class sc = new Stat_Class(ItemID,ShangpinName,Price,Quantity)