C#中的属性get和set到底是什么意思
privateinta;privateintb{get{xxx}set{xxx}}变量a还正常,b明显不合常理么,有什么作用,应该怎么使用?还有,在set中总是有一个va...
private int a;
private int b
{ get{xxx} set{xxx} }
变量a还正常,b明显不合常理么,有什么作用,应该怎么使用?
还有,在set中总是有一个value,但是在哪里都没有定义它,这个value又是干什么的呢 展开
private int b
{ get{xxx} set{xxx} }
变量a还正常,b明显不合常理么,有什么作用,应该怎么使用?
还有,在set中总是有一个value,但是在哪里都没有定义它,这个value又是干什么的呢 展开
5个回答
展开全部
get是给属性赋值,set是取属性的值。
get、set用法:
一是隐藏组件或类内部的真是成员;
二是用来建立约束的,比如,实现“有我没你”这种约束;
三是用来响应属性变化事件,当属性变化是做某事,只要写在set方法里就行。
当你想读出或写入属性的值时,存取标志限定了被实现的语句。用于读出属性的值的存取标志记为关键字get,而要修改属性的值的读写符标志记为set。
下面是示例代码:
public class Student
{
private string name
public string Name
{
set{name=value;}//这里是给私有属性name赋值
get{return name;}//这里取出私有属性name的值
}
}
展开全部
get和set是C#定义属性的规范,看以下示例:
public class Person
{
private string _name;
public string Name
{
get { return _name; } //可以通过 Person的实例来访问Name,返回私有变量_name的值
private set { _name = value; }//不允许外部赋值,只能在Person内部赋值,value就是赋过来的值
}
}
public class Person
{
private string _name;
public string Name
{
get { return _name; } //可以通过 Person的实例来访问Name,返回私有变量_name的值
private set { _name = value; }//不允许外部赋值,只能在Person内部赋值,value就是赋过来的值
}
}
追问
在你上面的例子上加一句,比如说:_name="12345";那是不是value就是12345了?
追答
这个Name属性指向了私有变量_name,_name的值就是Name的值,但12345跟private set { _name = value; }中的value不是一回事,这个value只来自赋值,比如 person.Name="abcd" 那value就是指"abcd"了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private int a;是类变量
private int b
{ get{xxx} set{xxx} }
是类属性
value表示这个属性本身
private int b
{ get{xxx} set{xxx} }
是类属性
value表示这个属性本身
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你学过java没有,不就是对象封装吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询