stringtranslate.com

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

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

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

Правила и типирование

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

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

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

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

С#

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

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

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

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

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

[Obsolete("Используйте класс C1 вместо этого", IsError = true)] // вызывает сообщение компилятора о том, что public class C {...} // что C устарел     public class ObsoleteAttribute : Attribute { // имя класса заканчивается на "Attribute" public string Message { get ; } // но может использоваться как "Obsolete" public bool IsError { get ; set ; } public ObsoleteAttribute () {...} public ObsoleteAttribute ( string msg ) {...} public ObsoleteAttribute ( string msg , bool error ) {...}}                                 [Устарело] [Устарело("Это устарело")] [Устарело("Это устарело", false)] [Устарело("Это устарело", IsError = false)]

Позиционные параметры, такие как первый параметр типа string выше, являются параметрами конструктора атрибута. Параметры имени, такие как параметр Boolean в примере, являются свойством атрибута и должны иметь постоянное значение. [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"  tested = "checked" > < label  for = "check1" > Проверьте меня </ label > < p ></ p > < скрипт > $ ( "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 ( ); </ скрипт > </ body > </ html >                                       

прежде чем нажать

. attr ( 'checked' ) : проверено . prop ( 'checked' ) : ложь . is ( ':checked' ) : ложь         

после щелчка

. attr ( 'checked' ) : проверено . prop ( 'checked' ) : правда . is ( ':checked' ) : правда         

Многозначные базы данных

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

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

XML

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

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

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

Смотрите также

Ссылки

  1. ^ Мессенбёк, Ханспетер (25 марта 2002 г.). «Расширенный C#: переменное количество параметров» (PDF) . Институт системного программного обеспечения, Университет Иоганна Кеплера в Линце, Факультет информатики. п. 44 . Проверено 8 августа 2011 г.