变量/字段哪个更好? 我在类里面有一些变量是private的,只有类内的方法可以访问,想问一下这种变量到底有没有必要封装成字段(或者叫属性)?一般的做法是怎么样的,封装还是不封装?还有,引用类型封装过之后访问与不封装访问有区别吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先,你说的那些个变量在这里应该叫做字段.所以先把字段和属性的定义搞清楚.如果只在类内访问,可以不封装,但不符合设计的规范.一般的做法是封装成公共的属性的.可以设置只读呀能写能读,当然了也可设置只写(但这没有意义,应用方法来处理这种情况)引用类型封装之后有没有区别,看你在get{}和set{}里面有没有做处理了.如果没有做什么使之变更的处理,那是没有什么区别的.另外,理论上访问属性比访问字段要慢一些,但对于项目来说,根本不用考虑这点性能损失. private的东西不封装也罢如果要公开给外部访问则需要以property的形式来公开以达到更好的封装效果 字段是字段 属性是属性 理解错误private string str=“”;//这个叫私有变量public string str="";这个可以叫公共字段public string Str//这个才是属性{get{}set{}}至于你说的需不需要封装 那要看你是否有必要封装的好处是在你获得或是赋值的时候,可以更好的控制。 那就没必要了 public string str;和private string _strpublic string Str{get{}set{}}是一样的属性是为了封装,如果你不需要封装 干脆就直接提供字段 public C#实现操作超时报警问题 各位高手帮个忙 C#项目打包 强类型如何控制填充数量 急急急..在线等待(c#中怎么对Gridview绑定的视图做修改。) 解决一个基础问题 请问如何在C#中获得SQL数据库中某张表中的最后一个ID? 急救--是否可以暂时停止.net事件 windows 边栏 实现原理 请教高手们一个Windows.form.dataGrid在点击排序的键行删除一行的问题 C#读文件问题 gridview问题
如果要公开给外部访问则需要以property的形式来公开以达到更好的封装效果
private string str=“”;//这个叫私有变量
public string str="";这个可以叫公共字段
public string Str//这个才是属性
{
get{}
set{}
}
至于你说的需不需要封装 那要看你是否有必要
封装的好处是在你获得或是赋值的时候,可以更好的控制。
public string str;
和
private string _strpublic string Str
{
get{}
set{}
}
是一样的
属性是为了封装,如果你不需要封装 干脆就直接提供字段
public