Attribuut (rekenen)
Als het element in kwestie kan worden beschouwd als een eigenschap (CUSTOMER_NAME
) van een andere entiteit (laten we zeggen CUSTOMER
), kan het element nul of meer eigen attributen (eigenschappen) hebben (CUSTOMER_NAME
is van TYPE = "KINDOFTEXT"
).
C#Edit
In de programmeertaal C# zijn attributen metadata die zijn gekoppeld aan een veld of een blok code, zoals assemblies, members en types, en zijn equivalent aan annotaties in Java. Attributen zijn toegankelijk voor zowel de compiler als programmatisch via reflectie.
Gebruikers van de taal zien veel voorbeelden waar attributen worden gebruikt om cross-cutting concerns en andere mechanistische of platformtoepassingen aan te pakken. Dit wekt de onjuiste indruk dat dit hun enige beoogde doel is.
Hun specifieke gebruik als metadata wordt overgelaten aan de ontwikkelaar en kan een breed scala aan soorten informatie over een bepaalde toepassing, klassen en leden omvatten die niet instance-specifiek is. De beslissing om een bepaald attribuut als een eigenschap bloot te stellen wordt ook overgelaten aan de ontwikkelaar, evenals de beslissing om ze te gebruiken als onderdeel van een groter toepassingsraamwerk.
Attributen worden geïmplementeerd als klassen die zijn afgeleid van System.Attribute
. Ze worden vaak gebruikt door de CLR-diensten, zoals COM-interoperabiliteit, remoting, serialisatie en kunnen in runtime worden opgevraagd.
Het voorbeeld laat zien hoe attributen in C# worden gedefinieerd:
// 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) {...}}
Positionele parameters zoals de eerste parameter van het type string hierboven zijn parameters van de constructor van het attribuut. Naamparameters zoals de Booleaanse parameter in het voorbeeld zijn een eigenschap van het attribuut en moeten een constante waarde hebben.
Attributen moeten worden afgezet tegen XML-documentatie waarin ook metagegevens worden gedefinieerd, maar die niet in de gecompileerde assembly is opgenomen en daarom niet programmatisch kan worden benaderd.
HTML & JavaScriptEdit
Toon het checked attribuut en de property van een checkbox als deze verandert.
<!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>
vóór klikEdit
.attr( 'checked' ): checked.prop( 'checked' ): false.is( ':checked' ): false
na klikEdit
.attr( 'checked' ): checked.prop( 'checked' ): true.is( ':checked' ): true
Multi-gewaardeerde databasesEdit
Op veel post-relationele of multi-gewaardeerde databasesystemen zijn, in vergelijking met SQL, tabellen bestanden, rijen items, en kolommen attributen. Zowel in de database en code, attribuut is synoniem met eigenschap en variabele, hoewel attributen verder kunnen worden gedefinieerd om waarden en subwaarden bevatten.
De eerste van deze databases was het Pick-besturingssysteem. Twee huidige platforms zijn Rocket U2’s Universe en InterSystems’ Caché.
XMLEdit
In XML is een attribuut een opmaakconstructie die bestaat uit een naam/waarde-paar dat bestaat binnen een start-tag of lege-element-tag. Markup-talen, zoals HTML en XML, gebruiken attributen om gegevens en de opmaak van gegevens te beschrijven.
Een goed voorbeeld is het proces van XML waarbij waarden worden toegekend aan eigenschappen (elementen). Merk op dat de waarde van het element wordt gevonden vóór de (aparte) eind-tag, niet in het element zelf. Het element zelf kan een aantal attributen hebben ingesteld (NAME = "IAMAPROPERTY"
).
Als het element in kwestie kan worden beschouwd als een eigenschap (CUSTOMER_NAME
) van een andere entiteit (laten we zeggen CUSTOMER
), kan het element nul of meer eigen attributen (eigenschappen) hebben (CUSTOMER_NAME
is van TYPE = "KINDOFTEXT"
).