кто такой участник по сравнению со свойством

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

причина, почему переоснова тогда лучше, чем слияние, состоит в том что:

  • Вы переписываете свою локальную историю фиксации с той ведущего устройства (и затем повторно применяете Вашу работу, разрешая любой конфликт тогда)
  • , заключительное слияние, конечно, будет "ускоренной перемоткой вперед" один, потому что это будет иметь всю историю фиксации ведущего устройства только плюс Ваши изменения для повторного применения.

я подтверждаю, что корректный рабочий процесс в этом случае (эволюции на едином наборе файлов) переоснова сначала, затем объединитесь .

Однако, который означает, что, если Вы продвигаете свое локальное ответвление (по резервной причине), что ответвление нельзя вытянуть (или по крайней мере использовать) кем-либо еще (так как история фиксации будет переписана последовательной переосновой).

По той теме (переоснова тогда объединяют рабочий процесс), упоминания barraponto в комментариях два интересных сообщения, оба от randyfay.com :

Используя эту технику, Ваша работа всегда идет на вершину общедоступного ответвления как патч, который актуален с текущим HEAD.

(подобная техника существует для базара )

33
задан SqlRyan 5 August 2009 в 18:42
поделиться

7 ответов

Свойство - это один вид элемента. Другие могут быть конструкторами, методами, полями, вложенными типами, преобразованиями, индексаторами и т. Д. - конечно, в зависимости от языка / платформы. Часто точное значение терминологии зависит от контекста.

Чтобы дать определение, специфичное для C # , из спецификации C # 3.0, раздел 1.6.1:

В следующей таблице представлен обзор типов членов, которые может содержать класс.
(Строки для ...)

  • Константы
  • Поля
  • Методы
  • Свойства
  • Индексаторы
  • События
  • Операторы
  • Конструкторы
  • Деструкторы
  • Типы

Обратите внимание, что это члены класса . У разных «вещей» разные типы членов - например, в C # интерфейс не может иметь поле в качестве члена.

56
ответ дан 27 November 2019 в 18:01
поделиться

Свойства - это один из видов членов.

В C #, например, класс может иметь следующие члены:

  • Конструкторы
  • Деструкторы
  • Константы
  • Поля
  • Методы
  • Свойства
  • Индексаторы
  • Операторы
  • События
  • Делегаты
  • Классы
  • Интерфейсы
  • Структуры

MSDN: C #: class

4
ответ дан 27 November 2019 в 18:01
поделиться

Члены - это просто объекты или примитивные типы, принадлежащие классу.

Свойства дают вам больше возможностей, чем члены. Это похоже на упрощенный способ создания геттеров и сеттеров, позволяющий, например, создавать общедоступные геттеры и частные сеттеры; и поместите любую логику в том виде, в котором она будет читаться или записываться. Их можно использовать как способ раскрытия членов, что позволяет более легко изменить политику чтения и записи позже.

Это относится к C #. Не уверен, правда ли это для других языков.

1
ответ дан 27 November 2019 в 18:01
поделиться

Член (переменная) - это просто некоторая часть объекта. Свойство (я уточню это как «обычно» - я не уверен, что это технически ясное слово, имеющее однозначное значение на нескольких языках) является общедоступным аспектом объекта, например, через методы получения и установки.

Таким образом, хотя (почти всегда) свойство является доступной переменной-членом, у вас может быть свойство, которое на самом деле не является частью состояния объекта (не то чтобы это был хороший дизайн):

public class Foo {
  public String getJunk()
  { return "Junk";}

  public void setJunk(String ignore){;}
  }
}
1
ответ дан 27 November 2019 в 18:01
поделиться

И свойства, и методы являются членами объекта. Свойство описывает некоторый аспект объекта, пока метод обращается к объекту-владельцу или использует его.
Пример в псевдокоде:

Object Ball
Property color(some Value)
Method bounce(subroutine describing the movement of the Ball)

Где мяч определен и имеет цвет (свойство), в то время как метод bounce - это подпрограмма, описывающая реакцию мяча на удар другого объекта.
Не все языки имеют свойства, т.е. в Java есть только поля, к которым должны обращаться геттеры и сеттеры.

1
ответ дан 27 November 2019 в 18:01
поделиться

Свойства - это способ раскрыть поля, где поля являются фактическими переменными. Например (C #):

class Foo {
  private int field;
  public int Property {
    get { return field; }
    set { field = value; }
  }
}
1
ответ дан 27 November 2019 в 18:01
поделиться

Ни один из этих двух терминов не имеет какого-либо определенного значения в объектно-ориентированном программировании или объектно-ориентированном дизайне. Они также не имеют какого-либо определенного значения в подавляющем большинстве языков программирования.

Лишь очень небольшое количество языков программирования имеет понятие, называемое свойство или член , и еще меньше имеют оба.

Некоторыми примерами языков, в которых есть один из двух, являются C ++ (у которого есть члены), ECMAScript (у которого есть свойства) и C # (у которого есть оба). Однако эти термины не обязательно обозначают одни и те же концепции на разных языках программирования. Например, термин «член» означает примерно одно и то же в C ++ и C #, но термин «свойство» означает совершенно разные вещи в ECMAScript и C #. Фактически, термин "

7
ответ дан 27 November 2019 в 18:01
поделиться