Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Slides:



Advertisements
Ähnliche Präsentationen
Rekursive Grafiken Reklursive Grafiken.
Advertisements

Konzepte objektorientierter Systeme
Rekursive Grafiken Reklursive Grafiken.
Listen Richard Göbel.
Klassenvariable (auch Klassendaten bzw. statische Attribute genannt) und statische Methoden.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
3.1.4 Leser/Schreiber-Ausschluß (reader/writer exclusion)
C++ Vererbung und Polymorphie
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Thema: Fibonacci-Zahlen
Schleifen mit der Turtle
Bestimmung des ggT zweier Zahlen
Weitere Beispiele für Verzweigung mit und ohne Turtle
Verzweigung.
© 2004 Pohlig - Taulien Swing Ereignissteuerung. © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren.
Informatik Grundkurse mit Java
© 2003 Pohlig Grundkurs Informatik 1 Übungen: Mustererzeugen.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
© 2004 Pohlig - Taulien Dokumentation mit JavaDoc.
© 2003 Pohlig - Taulien Tanz der Turtles (Java) 1 Tanz der Turtles.
Artifizielle Wachstumsprozesse Ergänzung zu Teil 1 Winfried Kurth Günter Barczik Reinhard Hemmerling Lehrstuhl Grafische SystemeLehrstuhl Entwerfen Bauen.
Struktogramme IF-ELSE FOR – Schleife
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Grundkonzepte Java - Klassendefinition
1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Die Zählschleife int s = 0 for (int k=1; k
Lindenmayer-Systeme: Fraktale rekursiv zeichnen
Die Grundidee Funktionsaufruf Funktionsname (Kopf) Code der Funktion
Die Klasse String und ihre Methoden
© 2004 Pohlig - Taulien Explizite Typenumwandlung.
Starten der Entwicklungsumgebung (IDE)
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
SFZ FN Sj. 13/14 Python 2 Turtle Inf K1/2 Sj 13/14 GZG FN W.Seyboldt.
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Schleifen mit der Turtle
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
JAVA lernen: Methoden.
Aufgaben zu Rückgabewerten
Wiederholungen mit Zähler
Die Klasse Vielfrass in Java
Hintergrund Autoren von der PH Bern:
Ein schematischer Kirschbaum in Java
Mit der Turtle Java Programmieren
Turtle- Methoden November 18 Informatik Kurse
Cäsar-Verschlüsselung
Turtle- Methoden November 18 Informatik Kurse
Eigene Methoden zum Steuern einer Turtle
In der Klasse.
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Übungen: Mustererzeugen Januar 19 Grundkurs Informatik.
Schleifen mit der Turtle
Mit Java die Turtle steuern
Cäsar-Verschlüsselung
Reklursive Grafiken Teil I
Grundkurs Informatik 11-13
Kara: act()-Methode.
 Präsentation transkript:

Eigene Metoden (Turtle-Paket (C) Taulien 2003) Die Klasse Turtle lernt dazu oder Wie kann man selbst Turtle-Methoden schreiben Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Turtle zeichnet ein Quadrat public void zeichne() { t1.jumpTo(-150,50); t1.forward(100); t1.right(90); } Na ja!? Schon ganz gut! public void zeichne() { t1.jumpTo(-150,50); t1.zeichneQuadrat(); } public void zeichne() { t1.jumpTo(-150,50); for (int i=0;i<4;i++){ t1.forward(100); t1.right(90); } } Schon besser! Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Eigene Metoden (Turtle-Paket (C) Taulien 2003) Die Turtle lernt dazu Es wird dafür gesorgt, dass das Paket, in dem die Turtle liegt, zur Verfügung steht import turtle.*; public class MeineTurtle extends Turtle{ public MeineTurtle(TurtleWindow tWin){ super(tWin); } public void zeichneQuadrat(){ for(int i=0; i<4;i++){ forward(100); right(90); MeineTurtle lernt alles, was Turtle kann Konstruktor ruft den entsprechenden Konstruktor der Vaterklasse auf Hier schreiben wir auf, was zeichneQuadrat() tun soll. public damit andere Programme, die Methode benutzen können. Die Methode gibt keine Rückmeldung an den Aufrufer Methoden haben hinter ihrem Namen immer ein rundes Klammernpaar Hier steht, was beim Aufruf für eine Turtle t1 z.B. getan werden soll. Beachte Schreibweise ohne Punkt vor forward() etc. Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Wir verwenden die neue Turtle import turtle.*; import java.awt.*; public class Quadrate1 extends TurtleFrame { MeineTurtle t1, t2; public Quadrate1(String title) { super(title); t1 = new MeineTurtle(tWin); t1.setColor(Color.RED); t2 = new MeineTurtle(tWin); t2.setColor(Color.BLUE); } public void zeichne() { t1.jumpTo(-150,50); t1.zeichneQuadrat(); t2.jumpTo(50,-150); t2.zeichneQuadrat(); public static void main (String[] args) { new Quadrate1("Quadrate - Vers. 1"); T1 und t2 sind keine Turtle-Objekte mehr, sondern MeineTurtle-Objekte! Die Objekte t1 und t2 benutzen die neue Methode. Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Eigene Metoden (Turtle-Paket (C) Taulien 2003) Übung Programmieren Sie das nebenstehende Muster unter Verwendung der neuen Methode public void zeichne() { for (int i=0;i<4;i++){ t1.zeichneQuadrat(); t1.right(90); } Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Mehr Flexibilität, bitte Die Methode zeichneQuadrat() soll Quadrate unterschiedlicher Seitenlänge zeichnen können. Merke: Methoden in einer Klasse können gleiche Namen haben, sie müssen sich aber in der Signatur unterscheiden. D.h. die Parameterliste unterscheidet sich in der Anzahl oder/und in den Typen public void zeichneQuadrat(double seite){ for(int i=0; i<4;i++){ forward(seite); right(90); } Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Die neue Methode im Einsatz import turtle.*; import java.awt.*; public class Quadrate2 extends TurtleFrame { MeineTurtle t1, t2; public Quadrate2(String title) { super(title); t1 = new MeineTurtle(tWin); t1.setColor(Color.RED); t2 = new MeineTurtle(tWin); t2.setColor(Color.BLUE); } public void zeichne() { t1.jumpTo(-150,50); t1.zeichneQuadrat(80); t2.jumpTo(50,-150); t2.zeichneQuadrat(110); public static void main (String[] args) { new Quadrate2("Quadrate - Vers. 2"); Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Eigene Metoden (Turtle-Paket (C) Taulien 2003) Übungen Programmieren Sie das Muster, bestehend aus Quadraten unter Verwendung der Methode: zeichneQuadrat(Double seite) public void zeichne() { for(int x=-200; x<200; x+=20){ for(int y=180; y>-200; y-=20){ t1.jumpTo(x,y); t1.zeichneQuadrat(15); } Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Übung neue Circle-Methode Schreiben Sie für die Klasse MeineTurtle eine Methode circle(…), die es erlaubt einen einem Turtle-Objekt einen Kreis zu zeichnen, wobei man x- y-Koordinate und Radius des Kreises (in dieser Reihenfolge) übergibt. Signatur: public void circle(double x, double y, double r) Zusicherung: Die Turtle soll nach dem sie den Kreis gezeichnet hat, sich wieder in ihrer alten Position befinden und ihre alte Orientierung wieder haben. Eigene Metoden (Turtle-Paket (C) Taulien 2003)

Eigene Metoden (Turtle-Paket (C) Taulien 2003) Lösung public void circle(double x, double y, double r){ double richtungsWinkel = getOrientation(); double altX = getX(); double altY = getY(); turnTo(90); jumpTo(x,y+r); left(90); circle(r); turnTo(richtungsWinkel); jumpTo(altX, altY); } Retten der Orientierung und der Position Turtle nach ´Norden´ absolut ausrichten und die Turtle auf den ´Nordpol´ setzten Die Turtle nach links wenden lassen und den Kreis (links herum zeichnen. Es wird die alte Methode circle(double r) (andere Signatur) verwendet. Turtle wieder in die alte Richtung schauen lassen und auf ihren alten Platz setzen. Eigene Metoden (Turtle-Paket (C) Taulien 2003)