日期:2014-05-17  浏览次数:20914 次

封装字段是如何对属性进行约束的??
下面是我复制的一份代码,请问封装字段是如何约束age的值,不至于不和实际的?
Code:

    public class Student   
    {   
                  public int age;   
                  public string name;   
                     
                  public void say()   
                 {   
                        Console.WriteLine("大家好,我是{0},今年{1}岁",name,age.ToString());   
                 }   
    }  

试着编写测试类,实例化对象,调用其say方法
Code:

    Class Test   
    {   
                 static void Main()   
                 {   
                        Student student = new Student();   
      
                        student.age = -20;   
                        student.name = "hamber";   
      
                        student.say();   
                 }   
    }  

输出结果:我是hamber,今年-20岁。

以上的赋值是不符合实际生活的。

这就需要我们对类中的敏感字段进行有效约束,这就用到了C#中的属性.
Code:

    public class Student   
    {   
                    private int age;   
                    public int Age   
                   {   
                       get{return age;}   
                       set{age = value;}