Z zengxiaomeng Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-31 #1 在C#里面我们可以对类的公用字段进行直接访问,那为什么还要那么麻烦用属性呢? 而且属性还需要使用public static的关键字来定义,这样子还和公用字段有什么区别呢
T tonyjoule Unregistered / Unconfirmed GUEST, unregistred user! 2004-01-29 #3 个人认为使用类的公用字段会破坏类的封装性,给团队开发、维护造成困难。
C Carlsberg Unregistered / Unconfirmed GUEST, unregistred user! 2004-01-31 #4 >>在C#里面我们可以对类的公用字段进行直接访问,那为什么还要那么麻烦用属性呢? 类的封装特性会告诉你,最好用间接的方法访问字段,这个间接的方法就是通过属性来访问。假如在多线程环境下,读取字段是没有问题的,但写入字段就会有问题。而通过属性访问就有机会处理好线程间的同步控制。这是OO常识。 此外,象索引器这样常用的机制只能通过属性访问来实现。 >>而且属性还需要使用public static的关键字来定义,这样子还和公用字段有什么区别呢 属性一定要用static吗?没听说过。
>>在C#里面我们可以对类的公用字段进行直接访问,那为什么还要那么麻烦用属性呢? 类的封装特性会告诉你,最好用间接的方法访问字段,这个间接的方法就是通过属性来访问。假如在多线程环境下,读取字段是没有问题的,但写入字段就会有问题。而通过属性访问就有机会处理好线程间的同步控制。这是OO常识。 此外,象索引器这样常用的机制只能通过属性访问来实现。 >>而且属性还需要使用public static的关键字来定义,这样子还和公用字段有什么区别呢 属性一定要用static吗?没听说过。