Я пытался найти смысл этих терминов, но особенно из-за языкового барьера я не мог понять, для чего они используются. Я предполагаю, что "поле" является переменным (объект тоже?) В классе, а "свойство" - это просто объект, который возвращает определенное значение и не может содержать методы и т.д. Под "членом" я понимаю любой объект, объявленный на уровне класса. Но это только мои предположения, основанные на комментариях кода, где некоторые осторожные программисты использовали "область свойств" и т.д. Я был бы очень признателен, если бы кто-нибудь мог мне это объяснить.
Термины программирования - поле, член, свойства (С#)
Ответ 1
В С#:
поля. Это переменные, объявленные на уровне класса.
public class SomeClass
{
private int someInteger; // This is a field
public double someDouble; // This is another field
protected StringBuidler stringBuidler; // Still another field
}
свойства. Часто используемые в качестве аксессуаров для частного поля класса, они могут предоставлять методы 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;
}
}
}
members. Включает поля, свойства, методы, события класса.
Ответ 2
Терминология в этой области безнадежно смешана и сильно варьируется от языка к языку и моделируется. У вас есть определенный язык или платформа?
В первом приближении:
- Обсуждение SQL часто использует поля и столбцы взаимозаменяемо. Поле также является стандартной терминологией для членов данных классов Java и С#.
- Член чаще всего используется в С++ для обозначения функций-членов, переменных-членов и т.д. для разных разных членов определения struct/class.
Ответ 3
Эти термины охватывают разные языки, и поэтому они частично перекрываются, а различия различаются в конкретных языках, чем о понятии. Свойство и поле используются для описания данных в классах, членами могут быть данные и поведение (например, методы) в классах. Однако существуют различия между свойствами и полями в С# и Java, но это синтаксический сахар. Если вы использовали основанный на прототипе объектно-ориентированный язык (в отличие от класса), вы бы говорили о слотах объектов... Если вы хотите понять весь смысл, сначала выберите язык.