Atribut (výpočet)
Pokud lze daný prvek považovat za vlastnost (CUSTOMER_NAME
) jiné entity (řekněme CUSTOMER
), může mít prvek nula nebo více vlastních atributů (vlastností) (CUSTOMER_NAME
je z TYPE = "KINDOFTEXT"
).
C#Edit
V programovacím jazyce C# jsou atributy metadata připojená k poli nebo bloku kódu, jako jsou sestavy, členy a typy, a jsou ekvivalentem anotací v jazyce Java. Atributy jsou přístupné jak kompilátoru, tak programově prostřednictvím reflexe.
Uživatelé jazyka vidí mnoho příkladů, kdy se atributy používají k řešení průřezových problémů a dalších mechanických nebo platformních použití. To vytváří falešný dojem, že to je jejich jediný zamýšlený účel.
Jejich konkrétní použití jako metadat je ponecháno na vývojáři a může zahrnovat širokou škálu typů informací o libovolné aplikaci, třídách a členech, které nejsou specifické pro instance. Rozhodnutí vystavit daný atribut jako vlastnost je rovněž ponecháno na vývojáři, stejně jako rozhodnutí použít je jako součást většího aplikačního rámce.
Atributy jsou implementovány jako třídy, které jsou odvozeny od System.Attribute
. Často jsou využívány službami CLR, jako je interoperabilita COM, remoting, serializace, a lze se na ně dotazovat za běhu.
Příklad ukazuje, jak jsou atributy definovány v jazyce 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) {...}}
Poziční parametry jako první parametr typu string výše jsou parametry konstruktoru atributu. Jmenné parametry, jako je parametr Boolean v příkladu, jsou vlastností atributu a měly by mít konstantní hodnotu.
Atributy je třeba porovnat s dokumentací XML, která rovněž definuje metadata, ale není součástí zkompilované assembly, a proto k ní nelze přistupovat programově.
HTML & JavaScriptEdit
Zobrazení atributu checked a vlastnosti zaškrtávacího políčka při jeho změně.
<!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>
před kliknutímEdit
.attr( 'checked' ): checked.prop( 'checked' ): false.is( ':checked' ): false
po kliknutíEdit
.attr( 'checked' ): checked.prop( 'checked' ): true.is( ':checked' ): true
Vícehodnotové databázeEdit
V mnoha systémech post-relačních nebo vícehodnotových databází jsou vzhledem k SQL tabulky soubory, řádky položky a sloupce atributy. V databázi i v kódu je atribut synonymem pro vlastnost a proměnnou, i když atributy mohou být dále definovány tak, aby obsahovaly hodnoty a podhodnoty.
První z těchto databází byl operační systém Pick. Mezi dvě současné platformy patří Universe společnosti Rocket U2 a Caché společnosti InterSystems.
XMLEdit
V XML je atribut značkovací konstrukce sestávající z dvojice jméno/hodnota, která existuje uvnitř značky start-tag nebo prázdného elementu. Značkovací jazyky, jako jsou HTML a XML, používají atributy k popisu dat a jejich formátování.
Dobrým příkladem je proces přiřazování hodnot vlastnostem (elementům) v jazyce XML. Všimněte si, že hodnota elementu se nachází před (samostatnou) koncovou značkou, nikoli v samotném elementu. Samotný prvek může mít nastavenu řadu atributů (NAME = "IAMAPROPERTY"
).
Pokud lze daný prvek považovat za vlastnost (CUSTOMER_NAME
) jiné entity (řekněme CUSTOMER
), může mít prvek nula nebo více vlastních atributů (vlastností) (CUSTOMER_NAME
je z TYPE = "KINDOFTEXT"
).
Pokud je daný prvek považován za vlastnost (CUSTOMER_NAME
) jiné entity (řekněme CUSTOMER
).