В чем разница между атрибутом и свойством? [закрыто]

Если они были объявлены как поля класса, тогда они были бы действительно инициализированы 0.

Вы немного сбиты с толку, потому что если вы пишете:

class Clazz {
  int a;
  int b;

  Clazz () {
     super ();
     b = 0;
  }

  public void printA () {
     sout (a + b);
  }

  public static void main (String[] args) {
     new Clazz ().printA ();
  }
}

Тогда этот код напечатает «0». Это связано с тем, что при создании нового экземпляра Clazz будет вызываться специальный конструктор. Сначала будет вызываться super (), тогда поле a будет инициализировано неявно, а затем будет выполнена строка b = 0.

145
задан caustic 3 November 2008 в 12:15
поделиться

5 ответов

В Python...

class X( object ):
    def __init__( self ):
        self.attribute
    def getAttr( self ):
        return self.attribute
    def setAttr( self, value ):
        self.attribute= value
    property_name= property( getAttr, setAttr )

свойство А является единственным подобным атрибуту именем, которое обертывает набор метода set, метод get (и средство удаления) функции.

атрибут обычно является отдельным объектом в другом объекте.

Однако однако, Python дает Вам методы как __getattr__, которые позволяют Вам, расширяют определение "атрибута".

Нижняя строка - они почти синонимичны. Python делает техническое различие в том, как они реализованы.

5
ответ дан S.Lott 3 November 2008 в 12:15
поделиться
<property attribute="attributeValue">proopertyValue</property>

был бы один способ посмотреть на него.

В C#

[Attribute]
public class Entity
{
    private int Property{get; set;};
1
ответ дан dove 3 November 2008 в 12:15
поделиться

Точное значение этих условий собирается во многом зависеть, на каком языке/системе/вселенной Вы говорите о.

В HTML/XML, атрибут является частью тега с, равняется знаку и значению, и свойство ничего не означает, например.

, Таким образом, нам нужно больше информации о том, какой домен Вы обсуждаете.

16
ответ дан Ned Batchelder 3 November 2008 в 12:15
поделиться

Дельфи использовал свойства, и они нашли свой путь в.NET (потому что это имеет того же архитектора).

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

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

0
ответ дан Toon Krijthe 3 November 2008 в 12:15
поделиться
  • 1
    Не немой, I' m запускающийся с linq и этого ответа был, в чем я нуждался! спасибо – pauloya 20 August 2010 в 20:30

В Java (или других языках) использование свойства / атрибута зависит от использования:

  • Свойство используется, когда значение не меняется очень часто (обычно используется при запуске или для переменной среды)

  • Атрибуты - это значение ( дочерний объект) Элемента (объекта), который может изменяться очень часто / постоянно и быть или непостоянным

2
ответ дан 23 November 2019 в 22:00
поделиться
Другие вопросы по тегам:

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