Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Grundlagen der Programmierung: Objektorientiertes Design

Objekte vor Veränderungen schützen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Erstellung einer Kapselung schützt sämtliche Eigenschaften sowie das Verhalten eines Objekts vor Veränderungen, welche von außen durchgeführt werden sollen.

Transkript

Als nächstes steht die Idee der Kapselung auf dem Plan. Denken Sie zum Beispiel an eine Brotdose. Die umschließt etwas, nicht nur, um den Inhalt zusammenzuhalten, sondern auch, um ihn zu schützen, dass mir keiner mein Pausenbrot wegisst. In der Objektorientierung geht es darum, die Attribute und das Verhalten in derselben Einheit, derselben Klasse zusammen zu halten, zu bündeln. Doch es ist mehr als das. Wir möchten auch den Zugriff auf die internen Abläufe innerhalb der Klasse einschränken. Wir möchten diese Abläufe vor der Außenwelt schützen. Prinzipiell sollte ein Objekt nichts über sich preis geben, außer dem, was für das Funktionieren der ganzen Anwendung unbedingt erforderlich ist. Dazu ein einfaches Beispiel. In dieser Bankkontoklasse sollten keine anderen Teile unserer Anwendung eingreifen und den Kontostand irgendeines Objektes verändern können, ohne das Verhalten "Einzahlen" oder "Abhebe"n zu verwenden. Der Grund hierfür ist zum Beispiel, dass Sie beim Abheben von Geldbeträgen überprüfen möchten, ob noch genug Geld auf dem Konto ist. Sie müssen also den Zugriff auf die eigentliche Kontohöhe so steuern, dass es nur innerhalb des Objektes selbst möglich ist. Natürlich können wir die Methoden Einzahlung und Abheben von anderen Teilen der Anwendung aus aufrufen und sie ändern auch den Kontostand. Doch von außerhalb des Objektes kann der Kontostand nicht direkt geändert werden. Man spricht hierbei auch von Blackbox-Prinzip und deswegen ist es hier dunkel unterlegt. Wir sperren die meisten inneren Abläufe des Objektes ab und nehmen nur die wenigen Teile davon aus, die wir explizit öffentlich machen wollen. Denken Sie zum Beispiel an ein Telefon. Die Interaktion mit einem Telefon soll so einfach wie möglich sein. Einfach die Tastatur benutzen, um jemanden anzurufen. Wie das ganze im Inneren funktioniert, das wollen sie gar nicht wissen. Wenn sich die interne Arbeitsweise ihres Telefons vollständig ändert, zum Beispiel als das ganze damals von Wählscheiben auf Tasten umgestellt wurde, dann spielt das keine Rolle. Sie können weiterhin normal telefonieren. Sogar von einem Wählscheibentelefon ein Smartphone anrufen. Funktioniert prächtig. Das ist genau einer der Vorzüge von Objektorientierung. Wir können die Arbeitsweise von Objekten einfach ändern, ohne dass wir später Probleme bekommen. Und solange die Kanäle nach außen gleich bleiben, ist alles in Ordnung. Vielleicht haben wir den Bankkontostand zunächst als einfache Gleitkommazahl gespeichert. Und später haben wir entschieden, dass es wesentlich besser ist, den Kontostand in zwei Ganzzahlen zu speichern, eine für Euro und eine für Cent. Wenn wir nun den direkten Zugriff auf diesen Kontostand verboten haben, dann brauchen wir uns nur mit dieser einen, einzigen Klasse befassen. Wir müssen uns keine Sorgen machen, Störungen in anderen 17 Teilen der Anwendung hervorzurufen, die auch auf diesen Kontostand zugreifen wollen. Bei Einsteigern in die objektorientierte Programmierung stellt sich häufig die Frage, wenn ich diese Klasse schreibe, warum soll ich dann meinen eigenen Code vor mir selbst verbergen? Und das ist der springende Punkt. Es geht nicht darum, geheim zu sein. Wir haben ja keinen Trenchcoat an und sind auch keine Geheimagenten. Alles, was wir wollen ist, die Abhängigkeit zwischen den verschiedenen Teilen der Anwendung verringern. Eine Änderung an der einen Stelle soll nicht mehrere Änderungen an anderen Stellen nach sich ziehen müssen. Doch wie viel soll man verbergen? In der Regel so viel wie möglich. Wie wir noch sehen werden, unterstützen verschiedene Sprachen dieses Konzept auf unterschiedlichen Niveaus. Doch die Idee der Kapselung ist, dass sie die Attribute und Methoden ihres Objektes einschließen, dass sie sie abkapseln. Wie in einer Brotdose. Damit verbergen Sie alles über dieses Objekt, außer dem, was unbedingt offen gelegt werden muss. Und der Aufwand, den wir in das Abstrahieren und Kapseln unserer Klassen stecken, der kann sich um so mehr auszahlen, wenn wir mehrere Klassen erzeugen, die untereinander kommunizieren müssen.

Grundlagen der Programmierung: Objektorientiertes Design

Lernen Sie alle Grundbegriffe und Methoden von objektorientiertem Design kennen und holen Sie sich das Rüstzeug, um bald Ihre eigene Softwareprojekte zu starten.

2 Std. 43 min (45 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!