Sichtbarkeit (Programmierung)

Die Sichtbarkeit gibt in der strukturierten und objektorientierten Programmierung an, in welchen Programmteilen die Bezeichnern von Datentypen, Variablen, Funktionen oder Konstanten sowie Prozeduren oder Methoden verwendet werden können, die in einer bestimmten Programmeinheit wie zum Beispiel einer Klasse oder einem Modul definiert wurden.[1]

Die Sichtbarkeitsregeln werden in den dazugehörigen Schnittstellen mit Hilfe von Zugriffsmodifikatoren festgelegt.[2] Die übliche Einteilung ist:[3]

  • öffentlich (Modifikator "public"), auf das Element darf von jeder anderen Klasse aus zugegriffen werden.
  • geschützt (Modifikator "protected"), auf das Element darf (üblicherweise) nur von derselben oder erweiternden Klassen aus zugegriffen werden.[4]
  • privat (Modifikator "private"), auf das Element darf nur innerhalb des definierenden Bereiches zugegriffen werden.

Um die Möglichkeit von versehentlichen Verwechslungen und Programmierfehlern zu begrenzen, empfiehlt es sich die Sichtbarkeiten von Bezeichnern so weit wie möglich einzuschränken (Abschattung).[2] In strukturierten Programmiersprachen beschränkt sich die Sichtbarkeit der Parameter und lokalen Variablen von Prozeduren, Funktionen und Methoden auf diese selbst.[5] Innerhalb des Sichtbarkeitsbereichs können Datentypen oder Prozeduren rekursiv referenziert werden.[5] Globale Variablen sind in der gesamten entsprechenden Programmeinheit (zum Beispiel in einem Programmpaket, in einem Modul oder in einer Klasse) sichtbar.

Viele Programmierer verwenden zur Erleichterung der Unterscheidbarkeit im Quelltext für lokale Variablen und für globale Variablen verschiedene Namenskonventionen, beispielsweise für lokale Variablen Bezeichner, die mit einem Kleinbuchstaben beginnen, und für globale Variablen Bezeichner, die mit einem Großbuchstaben beginnen.[6]

  1. https://www.rheinwerk-verlag.de/openbook/#mjf5b3fff9748ae6323d1923016a906a8f
  2. a b Schnittstellen, in: Strukturierte Programmierung, Wikibook, abgerufen am 6. September 2018
  3. Björn und Britta Petri: Modifikatoren, Java-Tutorial, 2010–2018, abgerufen am 6. September 2018
  4. https://www.php.net/manual/de/language.oop5.visibility.php
  5. a b Hanspeter Mössenböck, Niklaus Wirth: Declarations and scope rules, in: The Programming Language Oberon-2, Institut für Computersysteme, ETH Zürich, October 1993, abgerufen am 6. September 2018
  6. Variablen und Methoden, in: Strukturierte Programmierung, Wikibook, abgerufen am 6. September 2018

Developed by StudentB