Jump to content

Атрибут (вычисление)

В объектно-ориентированном программировании классы могут содержать атрибуты и методы.
Атрибут в реляционной базе данных может быть представлен как столбец или поле.

В вычислениях атрибут — это спецификация , определяющая свойство объекта , элемента или файла. Он также может ссылаться или устанавливать конкретное значение для данного экземпляра. Для ясности атрибуты правильнее считать метаданными . Атрибут часто и обычно является свойством свойства. Однако в реальном использовании термин «атрибут» может рассматриваться и часто рассматривается как эквивалент свойства в зависимости от обсуждаемой технологии. Атрибут объекта обычно состоит из имени и значения. Для элемента это могут быть имя типа и класса, а для файла — имя и расширение соответственно.

Правила и типирование [ править ]

  • Правила: Каждый именованный атрибут имеет связанный набор правил, называемых операциями : например, нельзя суммировать символы или манипулировать и обрабатывать целочисленный массив так же, как объект изображения. Никто не обрабатывает текст так, как если бы он был типом с плавающей запятой ( десятичные числа ).
  • Типы данных: Отсюда следует, что определение объекта может быть расширено путем введения типа данных , который может состоять из формата представления, значения по умолчанию, а также допустимых операций (правил) и ограничений (например, «деление на ноль недопустимо»). все они потенциально участвуют в определении атрибута, или, наоборот, их можно рассматривать как атрибуты типа этого объекта.

Форматы файлов изображений (например, JPEG , PNG и BMP ) не декодируются с использованием одних и тех же операций (как бы похожи ни были изображения — все это форматы графических данных). Аналогично, язык программирования не использует одни и те же операции для вычисления чисел с плавающей запятой и типизированных длинных целых чисел.

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

Использование атрибута [ править ]

Если бы рассматриваемый элемент можно было считать свойством ( CUSTOMER_NAME) другой сущности (скажем, CUSTOMER), элемент может иметь ноль или более собственных атрибутов (свойств) ( CUSTOMER_NAME имеет TYPE = "KINDOFTEXT").

С# [ править ]

В языке программирования C# атрибуты — это метаданные, прикрепленные к полю или блоку кода, такие как сборки , члены и типы , и эквивалентны аннотациям в Java . Атрибуты доступны как компилятору, так и программно посредством отражения . Напротив, свойства в терминологии C# являются членами класса, которые синтаксически используются как переменные экземпляра (или класса), но реализованы как пара функций получения/установки. (При отсутствии установщика свойства доступны только для чтения.)

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

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

Атрибуты реализованы как классы, производные от System.Attribute. Они часто используются службами CLR , такими как совместимость COM , удаленное взаимодействие , сериализация , и могут быть запрошены во время выполнения.

В примере показано, как атрибуты определяются в C#:

[Obsolete("Use class C1 instead", IsError = true)]  // causes compiler message saying
public class C {...}                                // that C is obsolete

public class ObsoleteAttribute : Attribute {         // class name ends with "Attribute"
    public string Message { get; }                   // but can be used as "Obsolete"
    public bool IsError { get; set; }
    public ObsoleteAttribute() {...}
    public ObsoleteAttribute(string msg) {...}
    public ObsoleteAttribute(string msg, bool error) {...}}

[Obsolete]
[Obsolete("This is obsolete")]
[Obsolete("This is obsolete", false)]
[Obsolete("This is obsolete", IsError = false)]

Позиционные параметры, такие как первый параметр строки типа выше, являются параметрами конструктора атрибута. Параметры имени, такие как логический параметр в примере, являются свойством атрибута и должны иметь постоянное значение. [1]

Атрибуты следует сопоставлять с документацией XML, которая также определяет метаданные, но не включена в скомпилированную сборку и, следовательно, не может быть доступна программно.

HTML и JavaScript [ править ]

Отображение атрибута «проверено» и свойства флажка по мере его изменения.

<!doctype html>
<html lang="en">
<head>
<body>
<input name="food" type="meal" id="meal">
  <meta charset="utf-8">
  <title>attr demo</title>
  <style>
  p { border;1px solid black;
font-family; arial, sans-serif;
text-align center;
  }
  b {
    color: blue;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<input id="check1" type="checkbox" checked="checked">
<label for="check1">Check me</label>
<p></p>
 
<script>
$( "input" )
  .change(function() {
    var $input = $( this );
    $( "p" ).html( ".attr( 'checked' ): <b>" + $input.attr( "checked" ) + "</b><br>" +
      ".prop( 'checked' ): <b>" + $input.prop( "checked" ) + "</b><br>" +
      ".is( ':checked' ): <b>" + $input.is( ":checked" ) + "</b>" );
  })
  .change();
</script>
</body>
</html>

прежде чем нажать [ изменить ]

.attr( 'checked' ): checked
.prop( 'checked' ): false
.is( ':checked' ):  false

после нажатия [ изменить ]

.attr( 'checked' ):   checked
.prop( 'checked' ):    true
.is( ':checked' ):     true

Многозначные базы данных [ править ]

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

Первой из таких баз данных стала операционная система Pick . Две текущие платформы включают Universe Rocket U2 и Caché от InterSystems .

XML [ править ]

В XML атрибут — это конструкция разметки , состоящая из пары имя/значение, которая существует внутри тега начального тега или тега пустого элемента . Языки разметки, такие как HTML и XML , используют атрибуты для описания данных и их форматирования.

Хорошим примером является процесс присвоения значений свойствам (элементам) XML. Обратите внимание, что значение элемента находится перед (отдельным) закрывающим тегом, а не в самом элементе. Сам элемент может иметь ряд установленных атрибутов ( NAME = "IAMAPROPERTY").

Если бы рассматриваемый элемент можно было считать свойством ( CUSTOMER_NAME) другой сущности (скажем, CUSTOMER), элемент может иметь ноль или более собственных атрибутов (свойств) ( CUSTOMER_NAME имеет TYPE = "KINDOFTEXT").

См. также [ править ]

Ссылки [ править ]

  1. ^ Мессенбёк, Ханспетер (25 марта 2002 г.). «Расширенный C#: переменное количество параметров» (PDF) . Институт системного программного обеспечения, Университет Иоганна Кеплера в Линце, факультет компьютерных наук. п. 44 . Проверено 8 августа 2011 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0ad442f723454a6eb7024d49b38b2a7e__1700228040
URL1:https://arc.ask3.ru/arc/aa/0a/7e/0ad442f723454a6eb7024d49b38b2a7e.html
Заголовок, (Title) документа по адресу, URL1:
Attribute (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)