
Kapitel 6 - Fortsetzung
Was ist nun alles geschehen in diesem Beispiel?
Zuerst wurde im Interface Abschnitt die addition: Methode deklariert. Mit (Bruch*) b wurde festgelegt, dass die addition: Methode zur Bruch Klasse gehört. Ebenso wurde mit (int) zaehler;(int) nenner; eine Methode deklariert, die es ermöglicht Werte auszulesen, in den Klammern steht deshalb nicht mehr (void) sondern eine Rückgabewert in Form von (int). Im @Implementation Abschnitt wurden diese Methoden dann definiert.
-(int) nenner
{
return nenner;
}
-(int) zaehler
{
return zaehler;
}
- (void) setze: (int) z durch: (int) n;
{
zaehler = z;
nenner = n;
}
- (void) addition: (Bruch *) b
{
zaehler = (zaehler * [b nenner])+(nenner * [b zaehler]);
nenner = nenner * [b nenner];
}
Dieser folgt nach der Formel:
a c ad + bc
- + - = ---------
b d bd
In der Umwandlung im Programm wurden dann c + d (der zu addierende Zähler (c) und Nenner (d)) jeweils der Argument-Name b zugewiesen. An diesem Punkt vielleicht eine kleine Zwischenbemerkung: es geht in diesem Kapitel nicht um die Umsetzung und Anwendung von mathematischen Formeln, sondern um die Anwendung von Methoden, Klassen und Instanzen und in der Folge um das Arbeiten mit lokalen Variablen. Schenken Sie also der mathematischen Umwandlung keine zu große Beachtung. Denn neben der mathematischen Berechnung zur Addition von Brüchen geschieht in obigem Beispiel etwas viel bemerkenswerteres: nämlich um den Aufruf einer Methode innerhalb einer Methode - achten Sie auf die eckigen Klammern innerhalb der Berechung.
- (void) addition: (Bruch*) b
{
zaehler = (zaehler * [b nenner]) + (nenner * [b zaehler]);
nenner = nenner * [b nenner];
}
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