Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2.5 Zusammenfassung<br />
Im Gegensatz dazu ist der Wert der Variable cardCount nicht von Instanz zu Instanz<br />
unterschiedlich, er beschreibt auch in keiner Weise eine einzelne Instanz, hat also im<br />
Prinzip gar nichts mit den jeweiligen Instanzen der Klasse Card zu tun. Die Variable<br />
cardCount ist ein Attribut der Klasse Card, welches angibt, wieviele Instanzen die<br />
Klasse momentan hat. Klassenvariablen sind also mit der Klasse selbst assoziiert.<br />
Für jedes Objekt muss im Speicher Platz für die Instanzvariablen bzw. deren Werte<br />
angelegt werden – die Werte der Instanzvariablen können nämlich von Instanz zu Instanz<br />
variieren 1 . Im Gegensatz dazu braucht man für Klassenvariablen nur einmal Platz im<br />
Speicher anzulegen, also nicht pro Instanz, da die Klassenvariable ja für die Klasse selbst<br />
und nicht für ein einzelnes Objekt steht.<br />
2.5 Zusammenfassung<br />
In diesem Kapitel wurde der grobe Aufbau einer Application aufgezeigt; neben import<br />
statements und Klassendeklarationen enthält sie immer auch eine main() Methode,<br />
welche für die virtuelle Maschine den Einstieg ins Programm markiert.<br />
Eine Klasse ihrerseits umfasst Attribute und Methoden. Die Vererbungshierarchie von<br />
Klassen kann man mit dem Schlüsselwort extends ausdrücken. Für die Erzeugung von<br />
Objekten deklariert eine Klasse einen Konstruktor.<br />
Attribute unterteilen sich in Instanzvariablen und Klassenvariablen. Erstere sind<br />
dynamisch jedem einzelnen Objekt zugeordnet, letztere existieren statisch für jede Klasse<br />
und nur ein einziges Mal. Die Vergabe von Identifiers erlaubt es, auf eine Instanzvariable<br />
bzw. Klassenvariable zuzugreifen.<br />
Eine Variable ist eine Datenbehälter, auf den mittels eines Namens zugegriffen wird. Der<br />
Inhalt dieses Datenbehälters, also der Variablenwert, kann durch eine Zuweisung verändert<br />
werden.<br />
Bei einer Methodendeklaration unterscheidet man die Methodenschnittstelle (Kopf,<br />
Signatur) vom Rumpf der Methode. Die Signatur gibt den Identifier der Methode an und<br />
listet in runden Klammern den Typ und die Namen ihrer Parameter auf. Der durch<br />
geschweifte Klammern markierte Methodenrumpf enthält die Anweisungen, welche bei<br />
einem Methodenaufruf ausgeführt werden. Beim Aufruf einer Methode wird ihr Name<br />
und der Empfänger gesetzt. Als Parameter werden konkrete Werte übergeben.<br />
1<br />
Natürlich kann es auch vorkommen, dass bei Objekten einzelne Werte ihrer Instanzvariablen<br />
übereinstimmen, was bei Wolfgang und Konstanze der Fall ist, da beide denselben Nachnamen haben.<br />
Ausschlaggebend ist die Tatsache, dass es überhaupt unterschiedliche Werte geben kann. Der Name Mozart<br />
wird - obwohl zweimal gleichlautend - auch zweimal physisch gespeichert.<br />
55