Methoden Was sind Methoden? Methoden sind ausführbare Funktionen bzw. Programmteile, welche dazu dienen, eine Aufgabe zu lösen. Welchen Zweck haben Methoden? • Mit Hilfe von Methoden kann man auf Objekte einwirken: • Abfrage des Zustands eines Objekts (z.B. Auf welchem Feld befindet sich Kara gerade?) • Veränderung der Eigenschaften (Attribute) eines Objekts (z.B. Änderung der Richtung oder der Position von Kara) • Erstellen und Entfernen von Objekten (z.B. Setzen oder Entfernen von Kleeblättern) • Die Verwendung von Methoden ermöglicht eine übersichtlichere Gestaltung des Quelltextes. Jede Teilaufgabe sollte in einer eigenen Methode gehandelt werden. • Methoden ermöglichen eine effizientere Bearbeitung des Quelltextes bei einer Fehlersuche oder einer Umprogrammierung, da nur die betroffenen Methoden bearbeitet werden müssen. Die Methode act() Die Methode act() ist der "Einstiegspunkt" für die Programmierung in Greenfoot-Kara. (Im herkömmlichen Java übernimmt diese Aufgabe die Methode main().) Aufgabe Kara befindet sich vor einer Reihe von Bäumen und Kleeblättern. Kara soll alle Kleeblätter aufsammeln und zum Ausgangspunkt zurückkehren. ➔ Analysieren Sie das Problem und entwickeln Sie eine Strategie. ➔ Erstellen Sie zunächst Karas Welt und speichern Sie diese ab. ➔ Erstellen Sie in der Methode act() den zugehörigen Programmcode. ➔ Unterteilen Sie den Quellcode so in Abschnitte, dass jeder Abschnitt einen geeigneten Teilablauf darstellt. Beschreiben Sie jeden Abschnitt. Deklaration von Methoden public void geheDreiSchritte() { …....... } 04 Methoden 1 Zugriffsbeschränkung: Die Zugriffsbeschränkung legt fest, welche anderen Methoden auf diese Methode zugreifen dürfen. private: Nur Methoden derselben Klasse dürfen auf diese Methode zugreifen. public: Auch Methoden anderer Klassen dürfen auf diese Methode zugreifen. Rückgabewert Eine Funktion bzw. eine Methode kann einen Wert zurückgeben. (vgl. Sensoren von Kara: boolean treeFront() ) void: Es wird kein Wert zurückgegeben. boolean: Es werden die Wahrheitswerte true oder false als Wahrheitswerte zurückgegeben. (Es gibt noch eine Vielzahl anderer Rückgabewerte, die jedoch erst später besprochen werden.) Methodenname Bei der Bezeichnung einer Methode ist folgendes zu beachten: • Für die Bezeichnung sollte stets ein aussagekräftiger Name verwendet werden. (Mit einem Kommentar sollte die Kernaufgabe der Methode erläutert werden.) • Methodennamen beginnen immer mit Kleinbuchstaben. • Setzt sich ein Methodenname aus mehreren Worten zusammen, so beginnen die nachfolgenden Worte jeweils mit einem Großbuchstaben und werden direkt aneinander gehängt (z.B. geheDreiSchritte() ) • In Methodennamen sind erlaubt: Unicode-Zeichen, Nummern bzw. Ziffern, Währungssymbole und Verbindungszeichen • Methodennamen dürfen nicht mit einer Ziffer beginnen und sollten keine Umlaute bzw. "ß" besitzen. Eigene Methoden Gleiche, wiederkehrende Quelltextabschnitte können in Methoden ausgelagert werden. Dabei ist zu beachten, dass der ausgelagerte Quellcode möglichst vielseitig einsetzbar sein sollte. Alle Methoden, welche Kara betreffen gehören in die Klasse myKara. Methoden werden vor oder nach der Methode act() erstellt. Sie sollten dieselbe Einrückung im Editor haben, wie die Methode act(). ➔ Gestalten Sie den Quelltext zu der vorangegangenen Aufgabe übersichtlicher und effizienter, indem Sie die Methode umgeheBaum() erstellen. Aufruf einer Methode: Um eine Methode aufzurufen, wird der Methodenname als Anweisung in die Methode act() übernommen. Beachten Sie das Semikolon (";") hinter dem Methodennamen. ➔ Erstellen Sie die Methode geheZumAnfang(), welche Kara wieder in die Ausgangsstellung zurückbringt. 04 Methoden 2