Attribuutti (laskenta)

Jos kyseistä elementtiä voidaan pitää jonkin toisen olion (vaikkapa CUSTOMER) ominaisuutena (CUSTOMER_NAME), elementillä voi olla nolla tai useampia omia attribuutteja (ominaisuuksia) (CUSTOMER_NAME on TYPE = "KINDOFTEXT":n).

C#Edit

C#-ohjelmointikielessä attribuutit ovat metatietoja, jotka on liitetty kenttään tai koodilohkoon, kuten kokoonpanoihin, jäseniin ja tyyppeihin, ja ne vastaavat annotaatioita Javassa. Attribuutteja voi käyttää sekä kääntäjä että ohjelmallisesti heijastuksen kautta.

Kielen käyttäjät näkevät monia esimerkkejä, joissa attribuutteja käytetään poikkileikkaaviin huolenaiheisiin ja muihin mekaanisiin tai alustakohtaisiin käyttötarkoituksiin. Tämä luo väärän vaikutelman, että tämä on niiden ainoa käyttötarkoitus.

Sen erityinen käyttö metatietona jätetään kehittäjän tehtäväksi, ja se voi kattaa monenlaista tietoa mistä tahansa sovelluksesta, luokista ja jäsenistä, joka ei ole instanssikohtaista. Päätös paljastaa jokin tietty attribuutti ominaisuutena jää myös kehittäjän päätettäväksi, samoin kuin päätös käyttää niitä osana laajempaa sovelluskehystä.

Attribuutit toteutetaan System.Attribute:sta johdettuina luokkina. Niitä käytetään usein CLR:n palveluissa, kuten COM-yhteensopivuus, remoting, serialisointi, ja niitä voidaan kysyä ajonaikana.

Esimerkki osoittaa, miten attribuutit määritellään C#:ssa:

 // 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) {...}}

Positionaaliset parametrit, kuten ensimmäinen parametri, joka on tyypiltään merkkijono (string), kuten edellä on esitetty, ovat attribuutin konstruktorin parametreja. Nimiparametrit, kuten esimerkin Boolean-parametri, ovat attribuutin ominaisuus, ja niiden pitäisi olla vakioarvo.

Attribuutit on erotettava XML-dokumentaatiosta, joka määrittelee myös metatietoja, mutta ei sisälly käännettyyn kokoonpanoon, eikä niitä siksi voi käyttää ohjelmallisesti.

HTML & JavaScriptEdit

Näyttää valintaruudun checked-attribuutin ja -ominaisuuden muuttuessa.

<!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>

ennen klikkaustaEdit

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

klikkauksen jälkeenEdit

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

Moniarvoiset tietokannatEdit

Monissa post-relationaalisissa tai moniarvoisissa tietokantajärjestelmissä SQL:ään nähden taulukot ovat tiedostoja, rivit ovat kohteita ja sarakkeet ovat ominaisuuksia. Sekä tietokannassa että koodissa attribuutti on ominaisuuden ja muuttujan synonyymi, vaikka attribuutit voidaan edelleen määritellä sisältämään arvoja ja aliarvoja.

Ensimmäinen näistä tietokannoista oli Pick-käyttöjärjestelmä. Kaksi nykyistä alustaa ovat Rocket U2:n Universe ja InterSystemsin Caché.

XMLEdit

XML:ssä attribuutti on merkintäkonstruktio, joka koostuu nimi-arvoparista, joka on olemassa start-tagin tai empty-element-tunnisteen sisällä. Merkintäkielet, kuten HTML ja XML, käyttävät attribuutteja kuvaamaan tietoja ja niiden muotoilua.

Lisätietoja: HTML-attribuutti

Hyvä esimerkki on XML:n prosessi, jossa ominaisuuksille (elementeille) annetaan arvoja. Huomaa, että elementin arvo löytyy ennen (erillistä) lopetustunnistetta, ei itse elementissä. Elementille itselleen voidaan asettaa useita attribuutteja (NAME = "IAMAPROPERTY").

Jos kyseistä elementtiä voidaan pitää jonkin toisen olion (sanotaan CUSTOMER) ominaisuutena (CUSTOMER_NAME), elementillä voi olla nolla tai useampia omia attribuutteja (ominaisuuksia) (CUSTOMER_NAME on TYPE = "KINDOFTEXT":n).

Vastaa

Sähköpostiosoitettasi ei julkaista.