I was trying to find meaning of this terms but especially due to language barrier I was not able to understand what they are used for. I assume that \"field\" is variable (objec
In C# :
fields : These are variables declared at the class level.
public class SomeClass
{
private int someInteger; // This is a field
public double someDouble; // This is another field
protected StringBuidler stringBuidler; // Still another field
}
properties : Often used as accessors to a private field of a class, they can provide get and set methods that wrap some logic around the field manipulation.
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;
}
}
}
members : Includes fields, properties, methods, events of a class.
The terminology in this area is hopelessly jumbled and varies wildly from language to language, and model to model. Do you have a specific language or platform in mind?
To a first approximation:
Those terms span different languages and therefore they overlap quite a bit and the differences are more about the concrete languages than about the concept. Property and field are used to describe data in classes, members can be data and behavior (e.g. methods) in classes. However, there are differences between properties and fields in C# and Java, but that is syntactic sugar. If you were using a prototype based object oriented language (as opposed to a class-based) you would talk about slots of objects... If you want to get a grasp of the entire meaning, first choose a language.