Программируя условия - поле, участник, свойства (C#)

Я пытался найти, что значение этого называет, но особенно из-за языкового барьера я не смог понять то, для чего они используются. Я предполагаю, что "поле" является переменным (объект также?) в классе, в то время как "свойство" является просто объектом, который возвращает определенное значение и не может содержать методы и т.д. "Участником" я понимаю любой объект, который объявляется на уровне класса. Но это просто мои предположения на основе прокомментированных примеров кода, где некоторые осторожные программисты использовали "регион свойства" и т.д. Я был бы очень признателен за, если кто-то мог бы объяснить это мне.

21
задан Petr 27 April 2010 в 09:54
поделиться

3 ответа

В 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 : часто используемые в качестве средств доступа к частному полю класса, они могут предоставлять методы получения и установки, которые оборачивают некоторую логику вокруг манипуляций с полем.

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 : Включает поля, свойства, методы, события класса.

42
ответ дан 29 November 2019 в 20:28
поделиться

Терминология в этой области безнадежно запутана и сильно варьируется от языка к языку и от модели к модели. Вы имеете в виду конкретный язык или платформу?

В первом приближении:

  1. В обсуждениях SQL часто используются поля и столбец как взаимозаменяемые. Поле также является стандартной терминологией для членов данных классов Java и C #.
  2. Элемент чаще всего используется в C ++ для обозначения функций-членов , переменных-членов и т. Д. Для различных элементов определения структуры / класса.
1
ответ дан 29 November 2019 в 20:28
поделиться

Эти термины относятся к разным языкам, поэтому они частично пересекаются, и различия связаны больше с конкретными языками, чем с концепцией. Свойство и поле используются для описания данных в классах, членами могут быть данные и поведение (например, методы) в классах. Однако есть различия между свойствами и полями в C # и Java, но это синтаксический сахар. Если бы вы использовали объектно-ориентированный язык на основе прототипов (в отличие от основанного на классах), вы бы говорили о слотах объектов ... Если вы хотите понять весь смысл, сначала выберите язык.

0
ответ дан 29 November 2019 в 20:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: