Punktoperator (Programmiersprachen)
Der Punktoperator ist ein Zugriffsoperator, der Bestandteil vieler Programmiersprachen wie beispielsweise Pascal, C oder Java ist. Er dient dazu, auf Elemente von Klassen oder Datenstrukturen zuzugreifen. Solche Zugriffe geschehen durch Aufrufe der Form „Klasse.Methode“ oder „Klasse.Attribut“, die beispielsweise den Zugriff auf Methoden bzw. Attribute einer Klasse ermöglichen.
Der Punktoperator ist dem Array-Zugriffsoperator sehr ähnlich. Beim Punktoperator dient ein Bezeichner als Eigenschaft, während der Array-Zugriffsoperator den Inhalt zu einem Namen auswertet und dann auf den Wert dieser benannten Eigenschaft zugreift.
Beispiel
Das folgende Beispiel für die Anwendung des Punktoperators ist in der Programmiersprache Java geschrieben:
public class Auto {
public int kilometerstand;
public void losfahren() {
System.out.println("Das Auto fährt jetzt.");
}
}
public static void main(String[] args) {
Auto vw_kaefer = new Auto();
vw_kaefer.kilometerstand = 200.345;
System.out.println("Der Kilometerstand beträgt " + vw_kaefer.kilometerstand + " km.");
vw_kaefer.losfahren();
}
Im oberen Teil wird eine Klasse mit dem Attribut kilometerstand
und der Methode losfahren
definiert. In der Hauptklasse (unten) wird zuerst eine Instanz von Auto
mit dem Namen vw_kaefer
erzeugt. Die zweite Anweisung weist dem Attribut kilometerstand
von vw_kaefer
einen Wert zu. Dieser wird in der nächsten Zeile wieder abgefragt und ausgegeben. Zuletzt wird die Methode „losfahren“ von vw_kaefer
aufgerufen.
Abweichende Bedeutungen
Der Operator hat nicht in jeder Programmiersprache, in der er existiert, die gleiche Semantik (Bedeutung), beispielsweise hat der Punktoperator in PHP eine abweichende Semantik, hier wird er verwendet, um Strings (Zeichenketten) zu konkatenieren (aneinander zu hängen). In PHP hätte der Code
$a = "Hallo" . " " . "Welt.";
die Auswirkung, dass $a
den Wert "Hallo Welt."
zugewiesen bekommt.
Anstelle des Punktoperators aus der „C C++ Java“-Welt existiert in PHP der Operator "->
".
Angelehnt an die mathematische Schreibweise hat der Operator . aus Haskells Standardbibliothek die Bedeutung der Funktionskomposition.