请教成员变量和属性的用法区别,谢谢。

baker_gw 2005-04-11 11:03:27
一个类,有时候搞不清楚到底用成员变量还是属性。
如:
成员变量
public string Name;
或者用属性
private string name
public string Name()
{
get
{
return name;
}
set
{
name = value;
}
}
两者功能上实现一致的东西,但是一直不懂两者如何区分使用,什么时候用什么更好,等等,请大家赐教!谢谢!
...全文
361 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveyini 2005-04-12
  • 打赏
  • 举报
回复
面向对象的编程方法是要抽象、封装;在类中,定义的变量是正对类本身而言,我们把它们叫做域。它可以为public ,private等;属性是针对外部看到的类的特性,是类展示给外部使用者的特性。前面我们讲到了域可以为public,但这样把域申明为public将不利于类的封装,因为外部使用者可以对类进行直接修改。所以我们就可以用到属性,我们只是公开它们的属性,至于如何对其进行赋值(set)如何进行取值(get)都已经进行了封装,对于类外部是不可见的。对于外部使用者来说只能够使用它,不能控制它,如何控制操作是由类自身决定的。你理解了吗?
凨叔 2005-04-12
  • 打赏
  • 举报
回复
public的属性 当然是其他类都可以访问了。
只能派生类访问用protected.
baker_gw 2005-04-11
  • 打赏
  • 举报
回复
成员变量这样写
public readonly string Name;
那还是可以是只读了
定义成protected也就只能派生类用了。

随便问下
public的属性
是不是其它类也可以访问
还是只能是派生类可以访问
softbugg 2005-04-11
  • 打赏
  • 举报
回复
属性可以设成只读的,只写的。成员变量定义成公用的,在外部可以任意修改。属性在付值时,可以检查范围等。用属性控制更强一点。如果向你写的代码,区别不大,用那个都可以。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧