Checkmark on Circle.png

Attribut (Informatik)

Aus KGS-Wiki

Als Attribut werden in der Informatik die Eigenschaften von beliebigen Objekten bezeichnet. Der Begriff findet sich in vielen Kontexten wieder, wird aber überall in etwa gleich verwendet.

Blockbasierte Programmierung

Hier erzeugen wir ein neues Attribut "Alter" für eine Figur.

Die einzelnen Figuren in einem Scratch-Programm haben Attribute, die sie für jede Figur einzigartig sind, etwa ihre Position [x-Position v] von (Katze v) oder ihre Größe [Größe v] von (Hund v). Diese Eigenschaften sind für jede Figur unterschiedlich und können mit den petrolfarbenen Blöcken aus der Kategorie "Fühlen" abgefragt werden. Anders als in anderen objektorientierten Programmiersprachen gibt es in Scratch keine Möglichkeit, die Attribute anderer Figuren direkt zu ändern. Man kann ihnen lediglich Nachrichten schicken und sie darum bitten, ihre Attribute selbst zu ändern.

Man kann auch eigene Attribute zu Figuren hinzufügen, indem man die Figur auswählt, eine neue Variable erzeugt und darunter das Kontrollkästchen "Nur für diese Figur" auswählt. Diese Variable kann nun von der Figur selbst normal über den orangefarbenen Variablenblock (Alter) abgefragt und verändert werden. Alle anderen Figuren können diese Variable mit dem petrolfarbenen Fühlen-Block [Alter v] von (Katze v) nur noch abfragen, aber nicht direkt verändern.

Datenbanken

In Datenbanken bezeichnet man die Spalten einer Relation als Attribut. Diese Attribute haben einen Namen, der in jeder Relation eindeutig sein muss. Attributmengen, die verwendet werden, um die Tupel in einer Relation eindeutig zu identifizieren, nennt man Schlüssel.

Web-Programmierung

HTML-Elemente können mit Attributen näher spezifiziert werden. Beispielsweise kann man für eine sortierte Liste <ol> das Attribut type setzen, das festlegt, welche Buchstaben oder Ziffern zur Nummerierung der Listeneinträge verwendet werden.

Beispiele für unterschiedliche Ausprägungen von type bei <ol>-Listen
HTML-Code Darstellung im Browser
<ol type="1">
  <li>Merkur</li>
  <li>Venus</li>
  <li>Erde</li>
</ol>
  1. Merkur
  2. Venus
  3. Erde
<ol type="a">
  <li>Merkur</li>
  <li>Venus</li>
  <li>Erde</li>
</ol>
  1. Merkur
  2. Venus
  3. Erde
<ol type="I">
  <li>Merkur</li>
  <li>Venus</li>
  <li>Erde</li>
</ol>
  1. Merkur
  2. Venus
  3. Erde

Manche Attribute wie den type einer <ol> darf man setzen, muss man aber nicht. Andere Attribute müssen gesetzt werden, damit das Element korrekt angezeigt werden kann. Ein Beispiel hierfür ist das Attribut src von <img>-Tags, die genutzt werden, um Bilder in HTML-Seiten einzubinden. Das src-Attribut muss dazu auf den Pfad der Bilddatei gesetzt werden, die eingebunden werden soll.

Objektorientierte Programmierung

Genau wie in der visuellen Programmierung haben auch in der objektorientierten Programmierung die Objekte Attribute. In klassenbasierten Sprachen wie Java und Python wird in der Definition der Klasse vorgegeben, welche Attribute ein Objekt dieser Klasse haben kann. In anderen Sprachen wie JavaScript können auch Objekte ohne Klassen existieren; diese Objekte haben aber auch Attribute.

💬
Beispiel

Der folgende Codeschnipsel zeigt die Definition einer Klasse Person in Java. Jede Person hat zwei Attribute: einem öffentlich zugänglichen Namen und ein verborgenen Alter.

public class Person {
  public String name;
  private int age;
}

In einigen Sprachen kann man die Sichtbarkeit der Attribute einschränken und den Zugriff darauf gezielt steuern. Dies nennt man Datenkapselung.

Weblinks