属性的定义
public int MyIntProp
{
get
{
}
set
{
}
}
- 访问属性和访问字段一样,当取得属性的值的时候,就会调用属性中的get块,所以get块,类型需要一个返回值就是属性的类型
- 当我们去给属性设置值的时候,就会调用属性中的set块,我们可以在set块中通过value访问到我们设置的值
- 我们习惯上把字段设置为私有的,这样外界不能修改字段的值,然后我们可以通过定义属性来设置和取得字段中的值。
private int age;
public int Age
{
set
{
if(value<0)
age = value;
}
get
{
return age;
}
}
例子
namespace Learn_class
{
class Vector
{
private int age;
public Vector(int age)
{
this.age = age;
}
public int Age
{
set
{
age = value;
}
get
{
return age;
}
}
}
}
Vector vector1;
vector1 = new Vector(4);
Console.WriteLine(vector1.Age);
vector1.Age = 20;
Console.WriteLine(vector1.Age);
Console.ReadKey();
- 这样子我们就无法改变字段age了,只能通过属性,这样子看这个属性好像和python的也差不多奥
自动实现的属性
public int Age{get;set;}