2010-04-27 19 views
17

Estaba tratando de encontrar el significado de estos términos, pero especialmente debido a la barrera del idioma no pude entender para qué se usan. Supongo que "campo" es variable (¿objeto también?) En la clase, mientras que "propiedad" es solo un objeto que devuelve un valor específico y no puede contener métodos, etc. Por "miembro" entiendo cualquier objeto declarado en el nivel de clase . Pero estas son solo mis suposiciones basadas en muestras de código comentadas donde algunos programadores cuidadosos usaron "región de propiedad", etc. Realmente agradecería que alguien me lo explicara.Términos de programación - campo, miembro, propiedades (C#)

Respuesta

38

En C#:

campos: Estas son las variables declaradas en el nivel de clase.

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

propiedades: a menudo utilizados como descriptores de acceso a un campo privado de una clase, pueden proporcionar métodos get y set que envuelven algo de lógica en torno a la manipulación de campo.

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; 
     } 
    } 
} 

miembros: Incluye campos, propiedades, métodos, eventos de una clase.

1

La terminología en esta área está irremediablemente mezclada y varía enormemente de un idioma a otro y de un modelo a otro. ¿Tiene un lenguaje o plataforma específica en mente?

En una primera aproximación:

  1. discusiones SQL utilizan a menudo campo y columna indistintamente. El campo es también la terminología estándar para los miembros de datos de las clases Java y C#.
  2. miembro se utiliza más comúnmente en C++ para referirse a funciones miembro, variables miembro, y así sucesivamente, para los diversos miembros diferentes de una definición struct/clase.
+0

Sí, lo siento - C#. – Petr

0

Estos términos abarcan diferentes idiomas y, por lo tanto, se superponen bastante y las diferencias se refieren más a los lenguajes concretos que al concepto. La propiedad y el campo se usan para describir datos en clases, los miembros pueden ser datos y comportamiento (por ejemplo, métodos) en clases. Sin embargo, hay diferencias entre las propiedades y los campos en C# y Java, pero ese es el azúcar sintáctico. Si estuvieras usando un lenguaje orientado a objetos basado en prototipos (a diferencia de la clase) hablarías de ranuras de objetos ... Si quieres entender todo el significado, primero elige un idioma.

Cuestiones relacionadas