C#中属性是什么意思
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 07:42:45
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里写自己的逻辑.自己灵活运用.
就按自己理解的来.
首先我来个简单的假设.
有个用户类(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里写自己的逻辑.自己灵活运用.