我在类里面有一些变量是private的,只有类内的方法可以访问,想问一下这种变量到底有没有必要封装成字段(或者叫属性)?一般的做法是怎么样的,封装还是不封装?还有,引用类型封装过之后访问与不封装访问有区别吗?

解决方案 »

  1.   

    首先,你说的那些个变量在这里应该叫做字段.所以先把字段和属性的定义搞清楚.如果只在类内访问,可以不封装,但不符合设计的规范.一般的做法是封装成公共的属性的.可以设置只读呀能写能读,当然了也可设置只写(但这没有意义,应用方法来处理这种情况)引用类型封装之后有没有区别,看你在get{}和set{}里面有没有做处理了.如果没有做什么使之变更的处理,那是没有什么区别的.另外,理论上访问属性比访问字段要慢一些,但对于项目来说,根本不用考虑这点性能损失.
      

  2.   

    private的东西不封装也罢
    如果要公开给外部访问则需要以property的形式来公开以达到更好的封装效果
      

  3.   

    字段是字段 属性是属性 理解错误
    private string str=“”;//这个叫私有变量
    public string str="";这个可以叫公共字段
    public string Str//这个才是属性
    {
    get{}
    set{}
    }
    至于你说的需不需要封装 那要看你是否有必要
    封装的好处是在你获得或是赋值的时候,可以更好的控制。
      

  4.   

    那就没必要了  
    public string str;

    private string _strpublic string Str
    {
    get{}
    set{}
    }
    是一样的
    属性是为了封装,如果你不需要封装 干脆就直接提供字段 
    public