C#中实体类的get、set的疑问,请大侠解答
publicintAge{get{return_age;}set{_age=value;}}publicintAge{get;set;}他们两个是一样的吗...
public int Age
{
get{return _age;}
set{_age=value;}
}
public int Age
{
get;
set;
}
他们两个是一样的吗 展开
{
get{return _age;}
set{_age=value;}
}
public int Age
{
get;
set;
}
他们两个是一样的吗 展开
6个回答
展开全部
效果是一样的!但是实际应用有区别。
第一种写法比较灵活,_age 为私有成员,而对其的封装Age成为属性。通过属性来保护私有成员,可以做到对成员的访问控制,比如:
只读:
public int Age
{
get{return _age;}
}
只写
public int Age
{
set{_age=value;}
}
读写
public int Age
{
get{return _age;}
set{_age=value;}
}
_age作为私有成员在类的内部可以任意的操作,这体现的封装的好处,而外部只能通过Age这个属性来访问。
第一种写法比较灵活,_age 为私有成员,而对其的封装Age成为属性。通过属性来保护私有成员,可以做到对成员的访问控制,比如:
只读:
public int Age
{
get{return _age;}
}
只写
public int Age
{
set{_age=value;}
}
读写
public int Age
{
get{return _age;}
set{_age=value;}
}
_age作为私有成员在类的内部可以任意的操作,这体现的封装的好处,而外部只能通过Age这个属性来访问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,简单的说,前者是用于自定义的获取或设置Age的值,如果不做特殊定制,就是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一样的,后一种是简写形式的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后一种写法是C# 3.0中的自动属性,也就是说如果没有其它的逻辑判断(比如对赋值进行判定等等操作),仅仅只是简单的赋值和取值 ,那就可以用后面那种简单的写法,反之仍然还要用上一种。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询