Atribut (računalništvo)

Iz Wikipedije, proste enciklopedije
Jump to navigation Jump to search

Atribut je specifikacija v računalništvu, ki določa lastnost objekta, elementa ali datoteke. Nanaša se lahko tudi na specifično vrednost določene instance atributa.

Uporaba[uredi | uredi kodo]

XML[uredi | uredi kodo]

V XML so atributi sestavljeni iz parov ime/vrednost, ki so navedeni znotraj začetne oznake elementa.

Primera:

<img src="Drava.jpg" alt='Slika reke Drave.' />

V zgornjem primeru ima element z imenom "img" dva atributa - atribut z imenom "src" in vrednostjo "Drava.jpg" ter atribut z imenom "alt" in vrednostjo "Slika reke Drave.".

<step number="3">Connect A to B.</step>

V tem primeru ima element z imenom "step" atribut z imenom "number" in vrednostjo "3". Element vsebuje tekst "Connect A to B.". Takšen element bi lahko bil npr. del programa v programskem jeziku temelječem na XML.

HTML[uredi | uredi kodo]

Jezik HTML povzema atribute in njjihovo sintakso po XML.

C#[uredi | uredi kodo]

V programskem jeziku C# so atributi meta podatki, ki so prirejeni določenemu polju ali bloku kode (sklopom, tipom, poljem, lastnostim in funkcijam). Koncept je ekvivalenten anotacijam v javi. Atributi so dostopni prevajalniku in programsko preko refleksije.

Spodnji primer prikazuje uporabo atributov v programskem jeziku C#:

[Obsolete("Use class C1 instead", IsError = true)]  // povzroči sporočiko prevajalnika,
public class C {...}                                // ki upozori, da je razred C zastarel

public class ObsoleteAttribute: Attribute {         // ime razreda se po dogvoru konča z "Attribute",
  public string Message{ get; }                     // vendar se pri sklicu uporabi le kot "Obsolete" (brez zadnjega dela imena)
  public bool IsError{ get; set; }
  public ObsoleteAttribute() {...}
  public ObsoleteAttribute(string msg) {...}
  public ObsoleteAttribute(string msg, bool error) {...}}

[Obsolete]
[Obsolete("This is obsolete")]
[Obsolete("This is obsolete", false)]
[Obsolete("This is obsolete", IsError = false)]

V tem primeru je razredu z imenom "C" dodan atribut "Obsolete", ki označuje, da je razred zastarel. "ObsoleteAttribute" je ime razreda, katerea objekti (instance tega razreda) predstavljajo atribut med izvajanjem programa. Atribut je naveden v oglatih oklepajih, kjer se sklicujemo na konstruktor ustreznega razreda (z imenom razreda brez zadnjega dela "Attribute") in lahko navedemo še vrednosti posamičnih lastnosti razreda (npr. "IsError", ki ga postavimo na vrednost true.) Konkreten atribut povzroči, da prevajalnik pri uporabi tako označenega razreda izpiše opozorilo o tem, da je uporabljen razred zastarel. Prevajalnik pri tem uporabi tudi niz, ki je bil podan kot argument konstruktorja in se zapiše v lastnost "Message" objekta, ki predstavlja instanco atributa.