各位大虾,小弟初学delphi。
delphi在类中引入了属性的概念,VC中好象没有,但归根结底都是对域值的操作。
那么引入属性究竟有什么意义呢?难道用PUBLIC成员函数不能取代属性的作用??
(补充一点:属性的基本用法小弟已经知道)

解决方案 »

  1.   

    窃以为,属性最大的好处在于实现了封装。
    对属性的操作不仅仅是对域值的操作,而是封装了一系列的动作,这些动作可能会改变域值,可能不会改变,还可能除了改变域值以外多做了很多事情。
    至于说到成员函数取代属性的问题,当然你可以直接在接口处声明函数而不是属性,但是这样会带来交流成本的增加,你想想看,对于一个类的使用者而言,什么样的语句更易读,易用。
    使用属性
     ObjectA.Text := '你好';
     Str := ObjectA.Text;
    使用成员函数
      ObjectA.SetText('你好');
      Str := ObjectA.GetText;
      

  2.   

    一个属性看你怎么理解了;
    其实也是SET,GET啊;看看PUBLISH里东西你就明白了;
      

  3.   

    属性是publish的,它比public更具有可访问性,可以通过对象侦察器去修改
      

  4.   

    另外,如果你使用property,那所有变量的读写都通过你的函数实现,更具有灵活性(用户可以直接赋值合用属性取值,而不需要显试的调用方法)。
      

  5.   

    属性也就是一些函数与过程!!!
    有问题请发信息到我的E-mail:[email protected]
      

  6.   

    呵呵,谁说属性是Publish的?我的程序里面连私有的属性都有呢,等你学多一点设计模式,你就明白属性的好处了的,可以这么来说:属性是一种思想,不用属性你也可以做相同的事情,但是,用了属性,就可以换一种思想来思考问题了
      

  7.   

    同意 ringotu(Ringo)  hoo000(火箭) 
    在delphi中属性基本是指published的;
    private一般成为域(Field);
    使用published的属性可以生成相应的RTTI,与IDE结合在一起。
    而光使用public的Get/Set不能实现此功能。
      

  8.   

    个人认为这是delphi比较体贴的地方
      

  9.   

    你多花一些time去看book,you can understand.
    hehe....