3. Turtle - Objektorientiert

Die eigentliche, die Experten Version des Turtle Moduls ist objektorientiert, und enthält mehrere Klassen.

Das Turtle Modul hat die etwas unschöne Besonderheit, dass für viele Methoden derselbe Name wie für die entsprechende Funktionen verwendet wird. Das ist ziemlich irreführend, da eine Methode und eine Funktion aus Programmier-Sicht gar nichts miteinander zu tun haben.

!!! Also Achtung, falls wir den Objektnamen weglassen, also statt der Methode die Funktion benutzen, bekommen wir eine zusätzliche, ich nenne sie mal die Standard Turtle. Es ist sicherlich keine gute Idee, die benannten Turtles und die Standard Turtle in einem Programm zusammen zu benutzen.

Wir erstellen also eine Turtle Instanz, und versuchen gleich mal, ob es eine Methode forward gibt:

from turtle import *

joe = Turtle()
joe.forward(100)

und probieren gleich weiter:

# und geben ihre Form ...
joe.shape("turtle")

# und eine Farbe
joe.color("blue")

So ist die Farbe der Turtle natürlich eine Eigenschaft, aber im Fall der Turtle Software können wir die Eigenschaften des jeweiligen Turtle Objekts nur mit Hilfe von Methoden ändern. Es gibt aber Klassen, wie z.B. ‚date‘, bei denen auf die Eigenschaften, also die Attribute (=Instanzvariablen) direkt zugegriffen werden kann.