faecher:informatik:oberstufe:modellierung:warum:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
faecher:informatik:oberstufe:modellierung:warum:start [25.10.2021 16:05] – [Wann ist ein Klassenentwurf "gut"?] sbelfaecher:informatik:oberstufe:modellierung:warum:start [25.10.2021 16:14] – [Grundregeln für gute Klassenentwürfe] sbel
Zeile 22: Zeile 22:
  
 ===== Grundregeln für gute Klassenentwürfe ===== ===== Grundregeln für gute Klassenentwürfe =====
 +
 +{{ :faecher:informatik:oberstufe:modellierung:warum:principles.drawio.png |}}
 +
 +==== Kapselung und Geheimnisprinzip ====
 +
 +Klassenvariablen niemals öffentlich (public) deklarieren. Der Zugriff auf Attribute von anderen Klassen ist somit nur über sondierende und verändernde Methoden (get- und set-Methoden) möglich. Änderungen am internen Aufbau der Klasse haben keine Auswirkungen auf andere Klassen, welche mit dieser assoziiert sind. 
 +
 +Die Verwaltung der Position der Münzen in unserem Beispiel ist in Verantwortung der Muenzen-Klasse. Sollte die Verwaltung intern später auf ein Array mit zwei Feldern für x- und y-Koordinate umgestellt werden, so müssten bei direktem Zugriff von außen alle zugreifenden Klassen mitverändert werden - wenn der Zugriff über Getter- und Setter-Methoden gekapselt ist, müssen die assoziierten Klassen nichts über den internen Aufbau der Muenzen-Klasse wissen. Man spricht vom **Geheimnisprinzip**. 
 +Anhand von Zuständigkeiten modellieren heißt, dass eine Klasse einen logisch sinnvollen und klar abgegrenzten Aufgabenbereich besitzt. Im Murmelspiel nimmt das Loch lediglich Murmeln auf, verwaltet aber nicht deren Koordinaten.
 +
 +==== Klar abgegrenzte Zuständigkeiten ====
  
  • faecher/informatik/oberstufe/modellierung/warum/start.txt
  • Zuletzt geändert: 26.10.2021 10:56
  • von sbel