Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Grundlagen der Programmierung: Objektorientiertes Design

Klassenattribute

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Klassen können ebenfalls Attribute, meistens als statische Informationen, beinhalten. Dabei handelt es sich um Variablen, welche für sämtliche instanziierte Objekte den gleichen Wert besitzen.

Transkript

Stellen Sie sich vor, Sie haben ein Sparkonto und dieses Sparkonto, das verfügt natürlich über einen Zinssatz, 0,85% zum Beispiel, und Sie möchten jetzt von dieser Klasse Sparkonto verschiedene Instanzen, also verschiedene Objekte ableiten. Also ein Sparkonto für den Erik, für den Daniel oder auch ein Sparkonto für die Pia. Dann würden Sie, nach bisherigem Stand der Dinge, hier ein Attribut festlegen. Dieses Attribut heißt Zinssatz. Und in dem Moment, in dem Sie von der Klasse Sparkonto ein Objekt ableiten, bekommt dieses Objekt eben auch diesen Wert für den Zinssatz 0,85%. Und das ist jetzt bei allen Objekten exakt gleich. Was passiert aber, wenn der Zinssatz von der Bank beispielsweise verändert wird? Dann müssten Sie in jedes einzelne Konto reingehen und dort den Zinssatz entsprechend verändern. Und wenn Sie sich hier das Ganze auch mal etwas genauer anschauen, dann sehen Sie, Mensch, warum habe ich denn in jedem einzelnen Konto Objekt immer dieselbe Zahl definiert? Es wäre doch besser, dieses 0,85% einmal zu definieren und dann ist es eben in jedem abgeleiteten Objekt gleich. Dieses Konzept gibt es und es heißt statische Ressourcen oder statische Members. Manchmal heißen sie auch geteilte Ressourcen, auf Englisch dann Shared oder man nennt es auch manchmal gemeinsam. Das ist abhängig davon, welche Sprache Sie verwenden oder grundsätzlich einfach welchem Paradigma Sie folgen. Schauen wir uns mal diese statischen Informationen in Quelltext an. Ich habe hier ein Java Beispiel links. Eine öffentliche Klasse mit dem Namen Sparkonto. Die hat verschiedene Instanzvariablen, also zum Beispiel eine Kontonummer. Das ist ein String und die ist öffentlich zugänglich. Ich habe eine private Instanzvariable, das ist der Kontostand und jetzt habe ich hier neu eine statische Variable. Und Sie sehen, der Unterschied besteht einfach darin, dass ich hier ein static reinschreibe. Public bedeutet, sie ist öffentlich zugänglich, also der Zinssatz, der ist auch von außerhalb eines Objektes oder von außerhalb der Klasse zugänglich. Das ist in Ordnung. Der Zinssatz soll eine Fließkommazahl sein. Ganz kurz mal einen Blick auf VB.NET. Da schaut es so aus. Das Ganze heißt nicht static, sondern shared, also schreibe ich hier ein Public Shared hinzu und bei Ruby, das ist ja die Sprache, bei der wir möglichst wenig tippen, da schreiben wir anstatt ein @-Zeichen, einfach zwei @-Zeichen dazu. Genauso wie es diese statischen Variablen gibt, also das sind Variablen, die direkt der Klasse gehören und nicht einem einzelnen Objekt, kann ich auch statische Methoden definieren. Und das schaut hier jetzt so aus: Ich habe wieder die statische Variable von eben, ich hab hier die statische Methode Public und das ist jetzt neu, static setzeZinssatz mit einer Fließkommazahl und dann wird eben dieser Zinssatz hier verändert. Ich kann auf diese Art und Weise auch, noch bevor ich auch nur ein einziges Objekt abgeleitet habe, schon einen Zinssatz innerhalb der Klasse setzen, indem ich eben schreibe, ich möchte direkt aufs Sparkonto zugreifen und ich möchte innerhalb von Sparkonto eben auf diese statische Methode, setzeZinssatz zugreifen. Und das ist eine gute Methode, um globale Informationen in einer Klasse festzulegen. Und ich kann sie, und das ist ja auch der Grund dafür, nicht auf einzelne Objekte herunter brechen. Das heißt, ich kann den Zinssatz innerhalb eines Objektes jetzt nicht mehr verändern, sondern ich muss das immer global statisch in dieser Sparkontoklasse machen. Schauen wir uns das Ganze zum Abschluss noch mal in die UML an, also der Unified Modeling Language. Wenn ich hier statische Ressourcen habe, also ein statisches Attribut oder eine statische Methode, dann unterstreiche ich die einfach und damit zeige ich, dass ich diese Methode oder dieses Attribut statisch halten möchte. Das bedeutet, dass es eben eine Information von der Klasse ist und nicht von einem konkreten, abgeleiteten Attribut.

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!