当前位置: 首页 > 最新文章 > 正文

编程:什么时候使用字段field而不是属性property?

使用场景:考虑使用字段:1、请勿提供public或protected字段。应提供用于访问字段的属性或方法,而不是将字段设为public或protected。属性可用作公共数据成员,但它们实际上是称为 访问器 的特殊方法。结论:某些数据属于类内部私有的,请定义成私有字段。某些数据允许其他类访问或者编辑,请定义成属性。使用场景:考虑使用字段:1、请勿提供public或protected字段。应提供用于

admin

使用场景:考虑使用字段:1、请勿提供public或protected字段。应提供用于访问字段的属性或方法,而不是将字段设为public或protected。属性可用作公共数据成员,但它们实际上是称为 访问器 的特殊方法。

编程:什么时候使用字段field而不是属性property?

结论:

某些数据属于类内部私有的,请定义成私有字段。

某些数据允许其他类访问或者编辑,请定义成属性。

使用场景:

考虑使用字段:

1、请勿提供public或protected字段。

应提供用于访问字段的属性或方法,而不是将字段设为public或protected。

2、把永远不会更改的常量设置为constants字段

编译器会直接将常量字段的值编译到调用代码中

3、对于预定义对象实例使用public static readonly字段

考虑使用属性:

可以把属性看做字段Plus,它们具有字段的调用语法,同时兼备方法的灵活性。

1、如果调用方不能更改属性的值,可以创建 get only 属性

2、set only属性没有意义,不要提供其 Setter 可访问性范围比 Getter 大的属性

概念:

字段是在类或结构中直接声明的任意类型的变量。

属性是一种成员,它提供灵活的机制来读取、写入或计算私有字段的值。 属性可用作公共数据成员,但它们实际上是称为 访问器 的特殊方法。 这使得可以轻松访问数据,还有助于提高方法的安全性和灵活性。

栗子:

public class Person{   private string _name;   public string Name   {      get      {         return _name;      }      set      {         _name = value;      }   }   //自动属性会自动给我们创建私有字段   public int Age { get; set; } }


上一篇: 基础语法之介词二十三:常见简单介词的用法-to 下一篇:巧记倒装!
返回顶部