<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.flbk-hamm.de/index.php?action=history&amp;feed=atom&amp;title=Sichtbarkeit</id>
	<title>Sichtbarkeit - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flbk-hamm.de/index.php?action=history&amp;feed=atom&amp;title=Sichtbarkeit"/>
	<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Sichtbarkeit&amp;action=history"/>
	<updated>2026-05-06T20:59:57Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in FLBK-Wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Sichtbarkeit&amp;diff=2138&amp;oldid=prev</id>
		<title>Thomas: /* Einführung */</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Sichtbarkeit&amp;diff=2138&amp;oldid=prev"/>
		<updated>2025-10-02T10:52:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einführung&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 2. Oktober 2025, 12:52 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Zeile 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Wahl des richtigen Zugriffsmodifikators ist ein wesentlicher Bestandteil guten Java-Designs:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Wahl des richtigen Zugriffsmodifikators ist ein wesentlicher Bestandteil guten Java-Designs:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Schutz des internen Zustands: Verwenden Sie private für die meisten Attribute.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;Schutz des internen Zustands: Verwenden Sie private für die meisten Attribute.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;Definition der Schnittstelle: Verwenden Sie public für Methoden, die die öffentliche Schnittstelle Ihrer Klasse bilden sollen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Definition der Schnittstelle: Verwenden Sie public für Methoden, die die öffentliche Schnittstelle Ihrer Klasse bilden sollen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;Erleichterung der Vererbung: Verwenden Sie protected für Elemente, die Unterklassen benötigen, aber nicht von externen Klassen gesehen werden sollen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;Durch die konsequente Anwendung dieser Regeln stellen Sie sicher, dass Ihr Code wartbar, sicher und leicht verständlich bleibt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Erleichterung der Vererbung: Verwenden Sie protected für Elemente, die Unterklassen benötigen, aber nicht von externen Klassen gesehen werden sollen.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Durch die konsequente Anwendung dieser Regeln stellen Sie sicher, dass Ihr Code wartbar, sicher und leicht verständlich bleibt.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Arten ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Arten ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Sichtbarkeit&amp;diff=2137&amp;oldid=prev</id>
		<title>Thomas: Die Seite wurde neu angelegt: „== Einführung == Die Sichtbarkeit (oft auch als Zugriffsmodifikatoren oder Access Modifiers bezeichnet) ist ein grundlegendes Konzept in der objektorientierten Programmierung mit Java. Sie bestimmt, von welchen Stellen im Code auf Klassen, Attribute (Variablen) und Methoden zugegriffen werden kann.  Die korrekte Verwendung von Sichtbarkeiten ist entsche…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Sichtbarkeit&amp;diff=2137&amp;oldid=prev"/>
		<updated>2025-10-02T10:52:11Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „== Einführung == Die Sichtbarkeit (oft auch als Zugriffsmodifikatoren oder Access Modifiers bezeichnet) ist ein grundlegendes Konzept in der &lt;a href=&quot;/Objektorientierung&quot; title=&quot;Objektorientierung&quot;&gt;objektorientierten&lt;/a&gt; Programmierung mit &lt;a href=&quot;/Java&quot; title=&quot;Java&quot;&gt;Java&lt;/a&gt;. Sie bestimmt, von welchen Stellen im &lt;a href=&quot;/Quelltext&quot; title=&quot;Quelltext&quot;&gt;Code&lt;/a&gt; auf &lt;a href=&quot;/Klasse&quot; title=&quot;Klasse&quot;&gt;Klassen&lt;/a&gt;, &lt;a href=&quot;/Attribut&quot; title=&quot;Attribut&quot;&gt;Attribute&lt;/a&gt; (&lt;a href=&quot;/Variable_(Informatik)&quot; title=&quot;Variable (Informatik)&quot;&gt;Variablen&lt;/a&gt;) und &lt;a href=&quot;/Methode&quot; title=&quot;Methode&quot;&gt;Methoden&lt;/a&gt; zugegriffen werden kann.  Die korrekte Verwendung von Sichtbarkeiten ist entsche…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Einführung ==&lt;br /&gt;
Die Sichtbarkeit (oft auch als Zugriffsmodifikatoren oder Access Modifiers bezeichnet) ist ein grundlegendes Konzept in der [[Objektorientierung|objektorientierten]] Programmierung mit [[Java]]. Sie bestimmt, von welchen Stellen im [[Quelltext|Code]] auf [[Klasse|Klassen]], [[Attribut|Attribute]] ([[Variable (Informatik)|Variablen]]) und [[Methode|Methoden]] zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
Die korrekte Verwendung von Sichtbarkeiten ist entscheidend für das Prinzip der Datenkapselung (Encapsulation), das sicherstellt, dass die internen Details eines [[Objekt|Objekts]] vor unerwünschten externen Zugriffen geschützt sind.&lt;br /&gt;
&lt;br /&gt;
Die Wahl des richtigen Zugriffsmodifikators ist ein wesentlicher Bestandteil guten Java-Designs:&lt;br /&gt;
&lt;br /&gt;
Schutz des internen Zustands: Verwenden Sie private für die meisten Attribute.&lt;br /&gt;
&lt;br /&gt;
Definition der Schnittstelle: Verwenden Sie public für Methoden, die die öffentliche Schnittstelle Ihrer Klasse bilden sollen.&lt;br /&gt;
&lt;br /&gt;
Erleichterung der Vererbung: Verwenden Sie protected für Elemente, die Unterklassen benötigen, aber nicht von externen Klassen gesehen werden sollen.&lt;br /&gt;
&lt;br /&gt;
Durch die konsequente Anwendung dieser Regeln stellen Sie sicher, dass Ihr Code wartbar, sicher und leicht verständlich bleibt.&lt;br /&gt;
&lt;br /&gt;
== Arten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Sichtbarkeitsmodifikatoren in Java&lt;br /&gt;
! Modifikator&lt;br /&gt;
! Sichtbarkeitsebene&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;public&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Überall&lt;br /&gt;
| Uneingeschränkter Zugriff von jeder [[Klasse]] aus, unabhängig vom [[Paket]]. (Die breiteste Sichtbarkeit.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;protected&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Innerhalb des Pakets &amp;#039;&amp;#039;&amp;#039;UND&amp;#039;&amp;#039;&amp;#039; in Unterklassen&lt;br /&gt;
| Zugriff ist erlaubt von jeder [[Klasse]] im gleichen [[Paket]] oder von jeder [[Vererbung|Unterklasse]] (auch wenn diese in einem anderen Paket liegt).&lt;br /&gt;
|-&lt;br /&gt;
| (Kein Modifikator)&lt;br /&gt;
| Innerhalb des Pakets (Default / Package-Private)&lt;br /&gt;
| Der Standard-Zugriff: Nur [[Quellcode|Code]] innerhalb des gleichen Pakets kann auf das Element zugreifen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;private&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Nur innerhalb der definierenden Klasse&lt;br /&gt;
| Der restriktivste Zugriff: Nur [[Quellcode|Code]]innerhalb der [[Klasse]] selbst kann auf das Element zugreifen. (Ermöglicht Kapselung.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;public (Öffentlich)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Verwendung: Für Elemente, die absichtlich eine Schnittstelle nach außen darstellen sollen.&lt;br /&gt;
&lt;br /&gt;
Best Practice: Klassen und Hauptmethoden (wie die main-Methode) sind oft public. Attribute sollten jedoch fast nie public sein, um die Datenkapselung zu gewährleisten.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
protected (Geschützt)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Verwendung: Für Elemente, die zwar nicht von irgendjemandem von außen manipuliert werden sollen, aber für vererbende Klassen (Subclasses) nützlich sind. Es ist ein Kompromiss zwischen public und dem Standard (Package-Private).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default (Package-Private)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Verwendung: Wenn Sie möchten, dass bestimmte Hilfsmethoden oder -variablen nur innerhalb einer Gruppe von eng zusammenarbeitenden Klassen im gleichen Paket verwendet werden können, aber nicht außerhalb.&lt;br /&gt;
&lt;br /&gt;
Hinweis: In der UML-Notation wird dies oft durch das Zeichen ~ (Tilde) dargestellt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;private (Privat)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Verwendung: Dies ist der Standard für Attribute (Variablen) innerhalb einer Klasse. Es stellt die stärkste Form der Kapselung dar. Nur Methoden in derselben Klasse können diese Variablen direkt lesen oder ändern.&lt;br /&gt;
&lt;br /&gt;
Regel der Kapselung: Wenn Sie möchten, dass andere Klassen auf private Attribute zugreifen oder diese ändern können, sollten Sie öffentliche Getter- und Setter-Methoden verwenden. Diese Methoden ermöglichen es, den Zugriff zu kontrollieren und Validierungslogik hinzuzufügen.&lt;br /&gt;
&lt;br /&gt;
Attribute (Variablen)→fast immer private&lt;br /&gt;
Zugriff auf private Attribute→durch public Getter/Setter-Methoden&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Stellen wir uns eine [[Klasse]] Konto in einem Paket namens bankwesen vor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
package bankwesen;&lt;br /&gt;
&lt;br /&gt;
public class Konto {&lt;br /&gt;
    // 1. private: Nur innerhalb dieser Klasse zugänglich&lt;br /&gt;
    private double kontostand = 0.0;&lt;br /&gt;
&lt;br /&gt;
    // 2. Default/Package-Private: Nur innerhalb des bankwesen-Pakets zugänglich&lt;br /&gt;
    String kontoinhaber = &amp;quot;Max Mustermann&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    // 3. public: Überall zugänglich&lt;br /&gt;
    public void einzahlen(double betrag) {&lt;br /&gt;
        if (betrag &amp;gt; 0) {&lt;br /&gt;
            this.kontostand += betrag;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 4. protected: Innerhalb des bankwesen-Pakets UND in Unterklassen zugänglich&lt;br /&gt;
    protected double getKontostandIntern() {&lt;br /&gt;
        return this.kontostand;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:AHR_I_Informatik_LK]]&lt;br /&gt;
[[Kategorie:FI_I_SDM]]&lt;br /&gt;
[[Kategorie:FI_I_TP1]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
</feed>