Attribut (informatique) - Attribute (computing)

En informatique , un attribut est une spécification qui définit une propriété d'un objet , d'un élément ou d'un fichier. Il peut également faire référence à ou définir la valeur spécifique pour une instance donnée de celui-ci. Pour plus de clarté, les attributs devraient plus correctement être considérés comme des métadonnées . Un attribut est fréquemment et généralement une propriété d'une propriété. Cependant, dans l'usage réel, le terme attribut peut et est souvent traité comme équivalent à une propriété en fonction de la technologie discutée. Un attribut d'un objet se compose généralement d'un nom et d'une valeur ; d'un élément, d'un type ou d'un nom de classe ; d'un fichier, un nom et une extension.

  • Chaque attribut nommé est associé à un ensemble de règles appelées opérations : on ne fait pas la somme de caractères ni ne manipule et ne traite pas un tableau d' entiers comme un objet image, on ne traite pas le texte comme un type à virgule flottante ( nombres décimaux ).
  • Il s'ensuit qu'une définition d'objet peut être étendue en imposant un typage des données : un format de représentation, une valeur par défaut, et des opérations légales (règles) et restrictions (« La division par zéro n'est pas tolérée ! ») sont toutes potentiellement impliquées dans la définition d'un attribut, ou inversement, peut être qualifié d'attributs du type de cet objet. Un fichier JPEG n'est pas décodé par les mêmes opérations (aussi similaires soient-elles - ce sont tous des formats de données graphiques) qu'un fichier PNG ou BMP, pas plus qu'un nombre à virgule flottante n'est exploité par les règles appliquées aux entiers longs tapés.

Par exemple, en infographie, les objets de ligne peuvent avoir des attributs tels que l'épaisseur (avec des valeurs réelles), la couleur (avec des valeurs descriptives telles que le marron ou le vert ou des valeurs définies dans un certain modèle de couleur, tel que RVB), des attributs de tirets, etc. Un objet cercle peut être défini dans des attributs similaires plus une origine et un rayon. En référence aux systèmes informatiques, les attributs sont définis en particulier pour les attributs de lecture ou d'écriture pour une lecture ou une écriture spécifique.

Utilisation des attributs

Si l'élément en question peut être considéré comme une propriété ( CUSTOMER_NAME) d'une autre entité (disons CUSTOMER), l'élément peut avoir zéro ou plusieurs attributs (propriétés) qui lui sont propres ( CUSTOMER_NAMEest de TYPE = "KINDOFTEXT").

C#

Dans le langage de programmation C# , les attributs sont des métadonnées attachées à un champ ou à un bloc de code comme des assemblys , des membres et des types , et sont équivalents aux annotations en Java . Les attributs sont accessibles à la fois au compilateur et par programmation par réflexion .

Les utilisateurs du langage voient de nombreux exemples où les attributs sont utilisés pour répondre à des préoccupations transversales et à d'autres utilisations mécanistiques ou de plate-forme. Cela crée la fausse impression que c'est leur seul objectif.

Leur utilisation spécifique en tant que métadonnées est laissée au développeur et peut couvrir un large éventail de types d'informations sur une application, des classes et des membres donnés qui ne sont pas spécifiques à une instance. La décision d'exposer un attribut donné en tant que propriété est également laissée au développeur, tout comme la décision de les utiliser dans le cadre d'un cadre d'application plus large.

Les attributs sont implémentés en tant que classes dérivées de . Ils sont souvent utilisés par les services CLR , comme l' interopérabilité COM , la communication à distance , la sérialisation et peuvent être interrogés lors de l'exécution. System.Attribute

L'exemple montre comment les attributs sont définis en C# :

[Obsolete("Use class C1 instead", IsError = true)]  // causes compiler message saying
public class C {...}                                // that C is obsolete

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

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

Les paramètres positionnels comme le premier paramètre de type chaîne ci-dessus sont des paramètres du constructeur de l'attribut. Les paramètres de nom tels que le paramètre booléen dans l'exemple sont une propriété de l'attribut et doivent être une valeur constante.

Les attributs doivent être comparés à la documentation XML qui définit également les métadonnées, mais n'est pas incluse dans l'assembly compilé et n'est donc pas accessible par programme.

HTML et javascript

Affiche l'attribut et la propriété cochés d'une case à cocher au fur et à mesure qu'ils changent.

<!doctype html>
<html lang="en">
<head>
<body>
<input name="food" type="meal" id="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 id="check1" 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>

avant de cliquer

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

après clic

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

Bases de données multi-valuées

Sur de nombreux systèmes de bases de données post-relationnelles ou à valeurs multiples , par rapport à SQL, les tables sont des fichiers, les lignes sont des éléments et les colonnes sont des attributs. Tant dans la base de données que dans le code, l'attribut est synonyme de propriété et de variable, bien que les attributs puissent être définis davantage pour contenir des valeurs et des sous-valeurs.

La première de ces bases de données était le système d'exploitation Pick . Deux plates-formes actuelles incluent l'Univers de Rocket U2 et Caché d'InterSystems .

XML

En XML , un attribut est une construction de balisage constituée d'une paire nom/valeur qui existe dans une balise de début ou une balise d'élément vide . Les langages de balisage, tels que HTML et XML , utilisent des attributs pour décrire les données et la mise en forme des données.

Un bon exemple est le processus d'attribution de valeurs XML aux propriétés (éléments). Notez que la valeur de l'élément se trouve avant la balise de fin (séparée), pas dans l'élément lui-même. L'élément lui-même peut avoir un certain nombre d'attributs définis ( NAME = "IAMAPROPERTY").

Si l'élément en question peut être considéré comme une propriété ( CUSTOMER_NAME) d'une autre entité (disons CUSTOMER), l'élément peut avoir zéro ou plusieurs attributs (propriétés) qui lui sont propres ( CUSTOMER_NAMEest de TYPE = "KINDOFTEXT").

Voir également

Les références