Kapselung - Dient dazu, um nur den Coder zu "schützen"?

Jack159

Bekanntes Mitglied
Hallo,

Bei Kapselung heißt es ja immer, dass es gefährlich werden könnte, wenn man z.B. einfach alle Variablen als public setzt. Was genau ist hier aber mit "gefährlich" gemeint?
Soll hier nur der/die Programmierer geschützt werden, damit er später 500 Zeilen später nicht versehentlich ein Attribut, welches nicht privat ist, ungewollt verändert bzw eben nur die Variablen über die set-Methoden geändert werden können, wo dann eben weitere Dinge geprüft werden vorher?
 
S

Spacerat

Gast
Ist Kapselung nicht auch das Zusammenfassen von Methoden und Attributen logischer Zusammenhänge? Z.B. das man in einer Klasse "Bild" nicht etwa eine Methode "playSound()" implementiert?
 
F

Firephoenix

Gast
Datenkapselung wird besonders wichtig wenn man versucht vernünftige Schnittstellen für seine Klassen zu schreiben.

Damit kann man auch gut Steuern wie andere (oder man selbst 3 Tage später...) die eigene Klasse verwenden.

Nehm als Beispiel mal eine eigene Implementierung einer doppelt verketteten Liste.
Ein Element hätte z.B. die Attribute previous und next.

Wenn man es geschickt macht bietet man z.b. nur Methoden wie add, get und remove auf der Liste selbst an, die getter und setter der elemente hält man private.
Damit schützt man seine saubere Implementierung der add-methode und verleitet keinen Client dazu eine eigene Add-Methode hinzufummeln weil er vielleicht übersieht das er außer element.setNext() und element.setPrevious() schon ein liste.add() vorgegeben hat.

Gruß
 

L-ectron-X

Gesperrter Benutzer
Kapselung dient u.a. auch dazu im wildes Lesen und Schreiben auf Datenelemente eines Objektes zu verhindern. So was kann u.U. zu ziemlich hässlichen Seiteneffekten führen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Lion.King Kapselung Java Basics - Anfänger-Themen 5
K Unterschied Information Hiding und Kapselung? Java Basics - Anfänger-Themen 2
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
T Kapselung und Zugriffsmodifizierer Java Basics - Anfänger-Themen 9
LionAge Kapselung, Verständnisfrage zur Objekterzeugung Java Basics - Anfänger-Themen 4
M Objektmethoden und Kapselung Java Basics - Anfänger-Themen 4
T Kapselung: public-Methoden in protected-Klassen Java Basics - Anfänger-Themen 3
neurox Kapselung von Enums? Java Basics - Anfänger-Themen 3
H Sauberes GUIieren mit dem AWT | Frage zur Kapselung Java Basics - Anfänger-Themen 3
V Kapselung Java Basics - Anfänger-Themen 3
A Frage zu super, abstracte Klassen und Kapselung Java Basics - Anfänger-Themen 3
M Prinzip der Kapselung - Wie Aufruf der Methode? Java Basics - Anfänger-Themen 2
D oo -> kapselung Java Basics - Anfänger-Themen 15
M Wozu dient Interfaces? Java Basics - Anfänger-Themen 6
W Stackabarbeitung - Wozu dient das "True" ? Java Basics - Anfänger-Themen 1
G wozu dient getContentPane()? Java Basics - Anfänger-Themen 1
U Wozu dient ein Vector in Java? Java Basics - Anfänger-Themen 6
S Wozu dient die Main Class? Java Basics - Anfänger-Themen 3
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
J Threads stoppen mit interrupt - Frage dazu Java Basics - Anfänger-Themen 7
E Elemente einer (öffentlichen) ArrayList in einer anderen Klasse zu einer ArrayList dazu fügen. Java Basics - Anfänger-Themen 7
A Beim txt Datei einlesen kommen zusätzliche Lehrzeichen dazu. Java Basics - Anfänger-Themen 5
J Grafischen Taschenrechner programmieren - Frage dazu Java Basics - Anfänger-Themen 12
L Tray-Einträge und dazu passende ActionListener dynamisch erzeugen? Java Basics - Anfänger-Themen 2
E JTable Sortiere und dazu gleichzeit die Liste Sortieren Java Basics - Anfänger-Themen 2
M Java Rätsel (Geocaching) - Brauch Hilfe dazu! Java Basics - Anfänger-Themen 15
R Strings und dazu ein paar methoden Java Basics - Anfänger-Themen 12
M Brauch ich dazu clone()? Java Basics - Anfänger-Themen 5
D Wie bring ich die Klassen dazu sich richtig zu "kennen& Java Basics - Anfänger-Themen 2
M j2ee: was braucht es alles dazu? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben