封装字段是如何对属性进行约束的??
下面是我复制的一份代码,请问封装字段是如何约束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;}