下面c#代码中,别的类中方法要给q赋值,属性只有个get怎么赋值,get是只读的是什么意思.不明白啊...
classQ{privateintq;publicintQ{get{returnq;}}}...
class Q
{
private int q;
public int Q
{
get
{return q;}
}
} 展开
{
private int q;
public int Q
{
get
{return q;}
}
} 展开
3个回答
展开全部
其他的类无法给q赋值。
以上其实是封装了q,变相使得q成为了了readonly的字段,只能在类Q初始化调用构造函数时对q进行赋值。
如果想在类初始化后再赋值要加上set{ q=具体赋值语句}
以上其实是封装了q,变相使得q成为了了readonly的字段,只能在类Q初始化调用构造函数时对q进行赋值。
如果想在类初始化后再赋值要加上set{ q=具体赋值语句}
追问
Q初始化调用构造函数是怎么对q赋值的.代码是怎么实现的?
追答
首先你要知道什么叫构造函数,这一点自行百度。构造函数只在对象被实例化时调用,也就是当你classA obj=new classA()时由C#自行调用。默认的构造函数是空,可以由你重载。构造函数的格式是与类名相同,即public classA(para1,para2....){};比如你的例子就应该是public classA(string q){this.q=q;}或者,
public int Q
{
get {return q;}
set {q=value;}
}
public classA(string q){
this.Q=q;
}
展开全部
只有get表示这个属性是只读的,不能给它赋值,只能读出这个Q,所以如果你需要赋值就要加个set,即
public int Q
{
get {return q;}
set {q=value;}
}
追问
QQ多少啊.有问题呢
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只读属性无法赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询