faecher:informatik:oberstufe:glossar:geheimnisprinzip:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
faecher:informatik:oberstufe:glossar:geheimnisprinzip:start [05.04.2022 14:41] Matthias Waffenschmidtfaecher:informatik:oberstufe:glossar:geheimnisprinzip:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== Geheimnisprinzip ====== 
- 
-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 [[..:datenfeld:start|Datenfelder]] zugreifen, sowohl lesend als auch speichernd. 
- 
-Der Zugriff erfolgt über sogenannte Getter-/Setter-Methoden. 
- 
-Das Geheimnisprinzip bietet folgende Vorteile: 
- 
-  * der Benutzer der Klasse muss sich nicht mit der genauen Implementierung der Klasse auskennen (Stichwort [[..:modularisierung:start|Modularisierung]]). 
-  * 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 werden, dass das Datenfeld einen unsinnigen Inhalt annimmt. 
- 
-Allerdings können Datenfelder auch mit anderen Zugriffsrechten angelegt werden, hier die komplette Übersicht: 
- 
-  * public – (engl. öffentlich), unbeschränkter Zugriff 
-  * protected – (engl. geschützt), Zugriff nur von der Klasse sowie von Unterklassen (Klassen, die [[..:vererbung:start|erben]]) 
-  * private – (engl. privat), nur die Klasse selbst kann es sehen 
-  * package – (engl. Paket), innerhalb des Pakets sichtbar 
  
  • faecher/informatik/oberstufe/glossar/geheimnisprinzip/start.1649162514.txt.gz
  • Zuletzt geändert: 05.04.2022 14:41
  • von Matthias Waffenschmidt