Atributo (computação)
Se o elemento em questão puder ser considerado uma propriedade (CUSTOMER_NAME
) de outra entidade (digamos CUSTOMER
), o elemento pode ter zero ou mais atributos (propriedades) próprios (CUSTOMER_NAME
é de TYPE = "KINDOFTEXT"
).
C#Edit
Na linguagem de programação C#, os atributos são metadados anexados a um campo ou bloco de código como assembléias, membros e tipos, e são equivalentes a anotações em Java. Os atributos são acessíveis tanto para o compilador como programmaticamente através da reflexão.
Utilizadores da linguagem vêem muitos exemplos onde os atributos são usados para abordar preocupações transversais e outros usos mecanísticos ou de plataforma. Isto cria a falsa impressão de que este é o seu único propósito.
O seu uso específico como metadados é deixado ao desenvolvedor e pode cobrir uma ampla gama de tipos de informação sobre qualquer aplicação, classes e membros que não seja específica de instância. A decisão de expor qualquer atributo dado como propriedade também é deixada ao desenvolvedor, assim como a decisão de usá-los como parte de um framework de aplicação maior.
Attributos são implementados como classes derivadas de System.Attribute
. Eles são frequentemente utilizados pelos serviços CLR, como interoperabilidade COM, remoting, serialização e podem ser consultados em tempo de execução.
O exemplo mostra como os atributos são definidos em C#:
// causes compiler message sayingpublic class C {...} // that C is obsoletepublic 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) {...}}
Parâmetros posicionais como primeiro parâmetro do tipo string acima são parâmetros do construtor do atributo. Parâmetros de nome como o parâmetro booleano no exemplo são uma propriedade do atributo e devem ser um valor constante.
Attributos devem ser contrastados com a documentação XML que também define metadados, mas não está incluída no conjunto compilado e, portanto, não pode ser acessada programticamente.
HTML & JavaScriptEdit
Exibir o atributo marcado e a propriedade de uma checkbox à medida que ela muda.
<!doctype html><html lang="en"><head><body><input name="food" type="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 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>
antes de clickEdit
.attr( 'checked' ): checked.prop( 'checked' ): false.is( ':checked' ): false
depois de clickEdit
.attr( 'checked' ): checked.prop( 'checked' ): true.is( ':checked' ): true
Bases de dados multi-valorizadasEdit
Em muitos sistemas de bases de dados pós-relacionais ou multi-valorizadas, relativos a SQL, tabelas são arquivos, linhas são itens, e colunas são atributos. Tanto na base de dados como no código, atributo é sinônimo de propriedade e variável embora os atributos possam ser definidos para conter valores e subvalores.
A primeira destas bases de dados foi o sistema operacional Pick. Duas plataformas atuais incluem o Universo do Rocket U2 e o Caché do InterSystems.
XMLEdit
Em XML, um atributo é uma construção de marcação que consiste em um par nome/valor que existe dentro de uma tag de arranque ou de elementos vazios. Linguagens de marcação, como HTML e XML, usam atributos para descrever dados e a formatação dos dados.
Um bom exemplo é o processo de atribuição de valores XML a propriedades (elementos). Note que o valor do elemento é encontrado antes da tag final (separada), não no próprio elemento. O próprio elemento pode ter um número de atributos definido (NAME = "IAMAPROPERTY"
).
Se o elemento em questão puder ser considerado uma propriedade (CUSTOMER_NAME
) de outra entidade (digamos CUSTOMER
), o elemento pode ter zero ou mais atributos (propriedades) próprios (CUSTOMER_NAME
é de TYPE = "KINDOFTEXT"
).