16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

Aufruf <strong>de</strong>s new-Operators erfor<strong>de</strong>rt 66 , erfolgt die Rückgabe von nicht mehr<br />

benötigtem Speicher automatisch 67 .<br />

Das Schreiben e<strong>in</strong>es Programms besteht damit aus Entwurf und Zusammenstellung<br />

von Klassen. Klassenbibliotheken (Sammlung von Klassen) stellen Lösungen für<br />

grundlegen<strong>de</strong> Programmieraufgaben bereit.<br />

Zustand, Aussehen und an<strong>de</strong>re Qualitäten e<strong>in</strong>es Objekts (Attribute) wer<strong>de</strong>n durch<br />

Variable <strong>de</strong>f<strong>in</strong>iert. Da je<strong>de</strong> Instanz e<strong>in</strong>er Klasse verschie<strong>de</strong>ne Werte für ihre<br />

Variablen haben kann, spricht man von Instanzvariablen. Zusätzlich gibt es noch<br />

Klassenvariable, die die Klasse selbst und alle ihre Instanzen betreffen. Werte von<br />

Klassenvariablen wer<strong>de</strong>n direkt <strong>in</strong> <strong>de</strong>r Klasse gespeichert. Der Zustand wird <strong>in</strong><br />

Variablen festgehalten und zeigt <strong>de</strong>n momentanen Stand <strong>de</strong>r Objektstruktur an, d.h.<br />

die <strong>in</strong> <strong>de</strong>n e<strong>in</strong>zelnen Bestandteilen <strong>de</strong>s Objekts enthaltenen Informationen und<br />

Daten. Abhängig vom Detaillierungsgrad kann die Notation für e<strong>in</strong>e Variable <strong>de</strong>n<br />

Namen, <strong>de</strong>n Datentyp und <strong>de</strong>n vore<strong>in</strong>gestellten Wert zeigen:<br />

Sichtbarkeit Typ Name = vore<strong>in</strong>gestellter_Wert;<br />

Sichtbarkeit: öffentlich (public), geschützt (protected) o<strong>de</strong>r privat (private)<br />

Typ: Datentyp<br />

Name: e<strong>in</strong>e nach bestimmten Regeln 68 gebil<strong>de</strong>te Zeichenkette<br />

Nach <strong>de</strong>r Initialisierung haben alle Variablen <strong>de</strong>s Objekts zunächst Standardwerte<br />

(vore<strong>in</strong>gestellte Werte). Der Zugriff auf sie erfolgt mit Hilfe <strong>de</strong>r Punktnotation:<br />

Objekt.Variable.<br />

Zur Bezugnahme auf das aktuelle Objekt dient das Schlüsselwort this. Es kann an<br />

je<strong>de</strong>r beliebigen Stelle angegeben wer<strong>de</strong>n, an <strong>de</strong>r das Objekt ersche<strong>in</strong>en kann, z.B.<br />

<strong>in</strong> e<strong>in</strong>er Punktnotation zum Verweis auf Instanzvariablen <strong>de</strong>s Objekts o<strong>de</strong>r als<br />

Argument für e<strong>in</strong>e Metho<strong>de</strong> o<strong>de</strong>r als Ausgabewert <strong>de</strong>r aktuellen Metho<strong>de</strong>n. In vielen<br />

Fällen kann das Schlüsselwort this entfallen. Das hängt davon ab, ob es Variablen<br />

mit gleichem Namen im lokalen Bereich gibt.<br />

Zur Def<strong>in</strong>ition <strong>de</strong>s Verhaltens von Objekten dienen Metho<strong>de</strong>n. Metho<strong>de</strong>n s<strong>in</strong>d<br />

Funktionen, die <strong>in</strong>nerhalb von Klassen <strong>de</strong>f<strong>in</strong>iert wer<strong>de</strong>n und auf Klassen<strong>in</strong>stanzen<br />

angewandt wer<strong>de</strong>n. Metho<strong>de</strong>n wirken sich aber nicht nur auf e<strong>in</strong> Objekt aus. Objekte<br />

kommunizieren auch mite<strong>in</strong>an<strong>de</strong>r durch Metho<strong>de</strong>n. E<strong>in</strong>e Klasse o<strong>de</strong>r e<strong>in</strong> Objekt kann<br />

Metho<strong>de</strong>n e<strong>in</strong>er an<strong>de</strong>ren Klasse o<strong>de</strong>r e<strong>in</strong>es an<strong>de</strong>ren Objekts aufrufen, um<br />

Än<strong>de</strong>rungen <strong>in</strong> <strong>de</strong>r Umgebung mitzuteilen o<strong>de</strong>r e<strong>in</strong> Objekt aufzufor<strong>de</strong>rn, se<strong>in</strong>en<br />

Zustand zu än<strong>de</strong>rn. Instanzmetho<strong>de</strong>n (Operationen, Services) wer<strong>de</strong>n auf e<strong>in</strong>e<br />

Instanz angewandt, Klassenmetho<strong>de</strong>n beziehen sich auf e<strong>in</strong>e Klasse.<br />

Klassenmetho<strong>de</strong>n können nur mit Klassenvariablen arbeiten.<br />

Die Beschreibung <strong>de</strong>r Operationen (Nachrichten, Metho<strong>de</strong>n) erfolgt nach <strong>de</strong>m<br />

folgen<strong>de</strong>n Schema:<br />

Sichbarkeit Rückgabetypausdruck Name(Parameterliste)<br />

Sichtbarkeit: öffentlich (public), geschützt (protected), privat (private) 69<br />

Rückgabetypausdruck: Je<strong>de</strong> Metho<strong>de</strong> ist typisiert. Der Typ e<strong>in</strong>er Metho<strong>de</strong> bestimt <strong>de</strong>n Typ <strong>de</strong>s<br />

Rückgabewerts. Dieser kann von e<strong>in</strong>em beliebigen primitiven Typ 70 , e<strong>in</strong>em Objekttyp o<strong>de</strong>r vom Typ<br />

void se<strong>in</strong>. Metho<strong>de</strong>n vom Typ void haben ke<strong>in</strong>en Rückgabewert und dürfen nicht <strong>in</strong> Ausdrücken<br />

66 Ausnahmen: Str<strong>in</strong>g-, Array-Literale<br />

67 E<strong>in</strong> Garbage-Collector (niedrigpriorisierte H<strong>in</strong>tergrundprozeß) sucht <strong>in</strong> regelmäßigen Abstän<strong>de</strong>n nach nicht<br />

mehr referenzierten Objekten und gibt <strong>de</strong>n durch sie belegten Speicher an das Laufzeitsystem zurück<br />

68 vgl. 2.1.2 Bezeichner und Namenskonventionen<br />

69 vgl. 2.6.2<br />

70 vgl. 2.2<br />

56

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!