Objekte sind Einheiten in Programmen, die Eigenschaften (Attribute) und Methoden haben. Einfache geometrische Formen lassen sich als Objekte auffassen und mit der Python-Turtle nachbauen.
Ein Kreis verfügt zum Beispiel über Eigenschaften wie Position, Radius und Farbe. Die Darstellung am Bildschirm erfordert eine Methode zeichne(). Eine Bauplan zur Herstellung von Kreisen müsste daher diese Eigenschaften und mindestens diese eine Methode haben.
Baupläne für Objekte heißen Klassen. Die Klasse KREIS ist durch ein UML-Diagramm rechts im Bild dargestellt.
Aufgabe 1:
a) Der Kreis soll mit Füllung gezeichnet werden. Beseitige dazu an zwei Stellen die Kommentarzeichen, sodass die Methode zeichne() den Kreis mit einer Farbe füllt.
b) Wandle das Programm so ab, dass der Kreis eine andere Farbe, eine andere Größe und eine andere Position bekommt.
Schlüsselwörter und Besonderheiten
class
: Es leitet die Definition einer Klasse ein. Nach class
folgt in allen Fällen der Name der Klasse, etwa KREIS, RECHTECK, DREIECK, usw. Klassennamen können frei gewählt werden, solange es nicht Schlüsselwörter sind. Am Ende der Zeile steht ein Doppelpunkt. Alles was zur aktuellen Klasse gehört, wird danach um einen festen Abstand eingerückt.
def
: Um eine Funktion oder eine Methode zu definieren dient das Schlüsselwort def
. Es folgen der Name der Funktion oder Methode, zwei Klammern und ein Doppelpunkt. Alles was zur aktuellen Definition gehört, wird danach um einen festen Abstand eingerückt.
self
: Dieses Wort stellt einen Bezug innerhalb einer Klasse her her. Weil ein Name häufig nur in einem bestimmten Raum, in einem bestimmten Kontext eindeutig ist, bedeutet self
soviel wie „dein eigene(r)“. Innerhalb einer Klassendefinition wird daher immer dann self geschrieben, wenn die „eigene“ Eigenschaft oder die „eigene“ Methode gemeint ist. Im oberen Beispiel etwa self.radius
oder self.zeichne()
.
__init__
: Dieses Wort bezeichnet die Konstruktormethode einer Klasse in Python. Der Konstruktor hat immer denselben Namen.
Nächstes Kapitel: 02 Geometrische Formen