C#类中的属性是什么?
首先我来个简单的假设。
有个用户类(Users) ,里面定义了一个表示年龄的字段 _age 。
如果我在其它的类里需要用到Users类里的_age字段(如获取用户年龄) 只能读取,不能修改。
你将会怎么设计Users类里的年龄字段_age呢。
是private 、public、还是什么呢?
如果是private 其它内根本看不到。如果是public任何人都可以修改年龄了。
这时我们就可以用到属性了。
private int _age; //定义字段 一般都是private外界是不能随便修改的。
public int Age //定义一个属性。属性是public的。共外界访问。
{
get
{
return _age; //返回年龄
}
}
属性有get;set访问器。获取属性时,会执行get模块。给属性负值时 会执行set模块。
我这里没有写set,也就是说外界是不能修改的。这样就可以满足我们的需要了。
当然这只是一个很简单的一个例子,具体的还是要看你的需求。
如获取属性值、设置属性值时都可以在get、set里写自己的逻辑。
自己灵活运用。