
Kapitel 6 - Fortsetzung
Der Programm-Abschnitt bietet ebenfalls eine raffinierte Besonderheit. Nachdem die beiden Brüche allokiert und initialisiert wurden und zaehler und nenner jeweils eine Variable zugewiesen wurde geschieht Folgendes:
// Anzeigen des Bruchs via printf
[meinBruch1 ausdrucken];
printf ("+");
[meinBruch2 ausdrucken];
printf ("=");
[meinBruch1 addition: meinBruch2];
[meinBruch1 ausdrucken];
printf ("\n");
[meinBruch1 free];
[meinBruch2 free];
Zuerst wird der erste Bruch am am Bildschirm angezeigt mit dem Methodenaufruf [meinBruch1 ausdrucken]; Dann wird das Pluszeichen gedruckt, dann der zweite Bruch durch den Methodenaufruf angezeigt und dann ein "=" Zeichen hinzgefügt. Nun wirds spannend: jetzt werden durch den Methodenaufruf [meinBruch1 addition: meinBruch2] die Variablen von meinBruch2 (1/4) zu den Variablen von meinBruch1 (1/2) zugewiesen. Was geschieht dadurch? Sie haben es erraten; die ursprünglichen Instanzvariablen von meinBruch1 (1/2) haben sich nach dem Vorgang der Addition geändert in (6/8). Jetzt gibt es auch Sinn warum der letzte Methodenaufruf [meinBruch1 ausdrucken] wieder die Instanz meinBruch1 aufgerufen wird. Sie erinnern sich vielleicht an das dritte Kapitel und dem Beispiel mit dem Handy und den Klassen. Sinnbildlich gesprochen: durch den Methodenaufruf können die Instanz-Variablen verändert werden. Das ist so ähnlich wie bei einem Wertkartenhandy. Durch den Aufruf der Methode telefonieren werden die Instanzvariablen der Methode kontostand verändert.
weiter ---- Objective-C Index ---- Startseite----zurück
EINSTIEG
KAPITEL 1: SCHRITT FÜR SCHRITT ZUM ERSTEN PROGRAMM
KAPITEL 2: OBJEKTE, KLASSEN, INSTANZEN UND METHODEN
KAPITEL 3: DIE VERSCHIEDENEN DATENTYPEN
KAPITEL 4: DIE PROGRAMMSCHLEIFEN
KAPITEL 5: ENTSCHEIDE DICH, ENTWEDER ODER....
KAPITEL 6: UND NOCHMALS KLASSEN
KAPITEL 7: VERERBUNG
KAPITEL 8: POLYMORPHISMUS, DYNASCHISCHE TYPISIERUNG UND DYNAMISCHES BINDEN
KAPITEL 9: NOCH MEHR DATENTYPEN UND VARIABLEN
KAPITEL 10: CATEGORIES, POSING AND PROTOCOL
KAPITEL 11: DER PRÄPROZESSOR