Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
faecher:informatik:oberstufe:glossar:geheimnisprinzip:start [28.03.2022 06:07] – angelegt Matthias Waffenschmidt | faecher:informatik:oberstufe:glossar:geheimnisprinzip:start [05.04.2022 12:41] (aktuell) – Matthias Waffenschmidt | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
Unter dem Geheimnisprinzip versteht man die Absicht, die internen Details der Implementierung einer Klasse nach außen hin zu verbergen. | Unter dem Geheimnisprinzip versteht man die Absicht, die internen Details der Implementierung einer Klasse nach außen hin zu verbergen. | ||
- | Dies wird dadurch erreicht, dass die Datenfelder mit dem Zugriffsmodifikator //private// definiert werden. Hierdurch kann nur die Klasse selbst direkt auf die Datenfelder zugreifen, sowohl lesend als auch speichernd. | + | Dies wird dadurch erreicht, dass die Datenfelder mit dem Zugriffsmodifikator //private// definiert werden. Hierdurch kann nur die Klasse selbst direkt auf die [[..: |
Der Zugriff erfolgt über sogenannte Getter-/ | Der Zugriff erfolgt über sogenannte Getter-/ | ||
Zeile 11: | Zeile 11: | ||
* der Benutzer der Klasse muss sich nicht mit der genauen Implementierung der Klasse auskennen (Stichwort [[..: | * der Benutzer der Klasse muss sich nicht mit der genauen Implementierung der Klasse auskennen (Stichwort [[..: | ||
* es wird verhindert, dass ein Benutzer sich zu stark auf die Details der Implementierung verlässt und man diese als Autor der Klasse später nicht ohne weiteres ändern könnte. | * es wird verhindert, dass ein Benutzer sich zu stark auf die Details der Implementierung verlässt und man diese als Autor der Klasse später nicht ohne weiteres ändern könnte. | ||
- | * durch den indirekten Zugriff über eine Setter-Methode kann verhindert | + | * durch den indirekten Zugriff über eine Setter-Methode kann verhindert |
+ | |||
+ | Allerdings können Datenfelder auch mit anderen Zugriffsrechten angelegt werden, hier die komplette Übersicht: | ||
+ | |||
+ | * public – (engl. öffentlich), | ||
+ | * protected – (engl. geschützt), | ||
+ | * private – (engl. privat), nur die Klasse selbst kann es sehen | ||
+ | * package – (engl. Paket), innerhalb des Pakets sichtbar | ||