C# 属性,get,set使用
属性反映了状态,是对字段的自然扩展。
下面的代码,有一个学生类,类中有年龄属性,通过get,set对年龄进行值的获取与设置,同时对年龄进行约束,使值控制在0-120之间,否则抛出异常信息。
namespace _20200324_2
{
class Program
{
static void Main(string[] args)
{
try
{
Student stu1 = new Student();
stu1.Age = 20;
Student stu2 = new Student();
stu2.Age = 20;
Student stu3 = new Student();
stu3.Age = 200;
int avgAge = (stu1.Age + stu2.Age + stu3.Age) / 3;
Console.WriteLine(avgAge);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
}
}
class Student
{
private int age;
public int Age
{
get
{
return this.age;
}
set
{
if (value > 0 && value < 120) //value 为上下文关键字,只在特定范围内为关键字
{
this.age = value;
}
else
{
throw new Exception("Age value has error!");
}
}
}
}
}

鲁公网安备 37148202000241号