【问题标题】:Programming terms - field, member, properties (C#)编程术语 - 字段、成员、属性 (C#)
【发布时间】:2011-02-12 18:58:52
【问题描述】:

我试图找出这些术语的含义,但特别是由于语言障碍,我无法理解它们的用途。 我假设“字段”是类中的变量(也是对象?),而“属性”只是一个返回特定值并且不能包含方法等的对象。通过“成员”,我理解在类级别声明的任何对象。但这些只是我基于注释代码示例的假设,其中一些细心的程序员使用“属性区域”等。 如果有人能向我解释一下,我将不胜感激。

【问题讨论】:

    标签: c# syntax terminology


    【解决方案1】:

    这些术语跨越不同的语言,因此它们有很多重叠,并且差异更多的是具体语言而不是概念。属性和字段用于描述类中的数据,成员可以是类中的数据和行为(例如方法)。但是,C# 和 Java 中的属性和字段之间存在差异,但这是语法糖。如果您使用的是基于原型的面向对象语言(而不是基于类的语言),您会谈论对象槽...如果您想了解整个含义,请先选择一种语言。

    【讨论】:

      【解决方案2】:

      在 C# 中:

      字段:这些是在类级别声明的变量。

      public class SomeClass
      {
          private int someInteger; // This is a field
          public double someDouble; // This is another field
          protected StringBuidler stringBuidler; // Still another field
      }
      

      properties :通常用作类的私有字段的访问器,它们可以提供 get 和 set 方法,围绕字段操作包装一些逻辑。

      public class SomeClass
      {
          private StringBuilder stringBuilder;
      
          // Property declaration
          public StringBuilder StringBuilder
          {
              get 
              { 
                  if(this.stringBuilder == null)
                      this.stringBuilder = new StringBuidler();
      
                  return this.stringBuilder;
              }
              set
              {
                  if(this.stringBuilder == null)
                      this.stringbuilder = value;
              }
          }
      }
      

      成员:包括类的字段、属性、方法、事件。

      【讨论】:

        【解决方案3】:

        该领域的术语非常混乱,并且因语言和模型而异。您是否有特定的语言或平台?

        第一个近似值:

        1. SQL 讨论经常交替使用 fieldcolumnField 也是 Java 和 C# 类的数据成员的标准术语。
        2. Member 在 C++ 中最常用来指代 成员函数成员变量等,用于结构的各种不同成员/类定义。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-06
          • 2012-04-27
          • 1970-01-01
          • 2010-10-22
          • 1970-01-01
          • 2017-08-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多