usar una que propiedades propiedad programacion metodo entre diferencia descriptores como clase campo autoimplementadas acceso c# syntax terminology

c# - una - propiedades en programacion



Términos de programación: campo, miembro, propiedades(C#) (3)

Cía# :

campos : son variables declaradas a 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 se utilizan como accesores a un campo privado de una clase, pueden proporcionar métodos de obtención y configuración que envuelven cierta lógica alrededor de la manipulación del 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.

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 (¿el 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. Pero estas son solo mis suposiciones basadas en ejemplos de código comentados en los que algunos programadores cuidadosos utilizaron "región de propiedad", etc. Realmente apreciaría si alguien me lo explicara.


Esos términos abarcan diferentes idiomas y, por lo tanto, se superponen bastante y las diferencias son más sobre los idiomas concretos que sobre el 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 eso es azúcar sintáctico. Si estuviera utilizando un lenguaje orientado a objetos basado en prototipos (a diferencia de los basados ​​en clases), hablaría sobre ranuras de objetos ... Si desea comprender todo el significado, primero elija un idioma.


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

A una primera aproximación:

  1. Las discusiones de SQL a menudo usan campos y columnas indistintamente. Field también es la terminología estándar para los miembros de datos de las clases Java y C #.
  2. El miembro es más comúnmente usado en C ++ para referirse a funciones de miembro , variables de miembro , etc., para los diferentes miembros de una definición de estructura / clase.