Beim Objektorientierten Programmieren dreht sich alles – der Name sagt es – um sogenannte Objekte. Ihr habt sicher schon mal Objekte verwendet, z.B. eine Turtle die man auf dem Bildschirm steuern kann. Wir werden aber auch lernen, selbst solche Objekte zu konstruieren.
Turtle
In diesem Kapitel lernen wir, wie wir mit Python Turtles verwenden können, um einfache Grafiken zu erstellen.
Objektorientiert
Beim Objektorientierten Programmieren dreht sich alles – der Name sagt es – um sogenannte Objekte. Im folgenden Beispiel schauen wir als Beispiel nicht die Turtle, sondern ein anderes Tier, nämlich das «Schaf» an.
Das Objekt
Das Objekt wäre das einzelne Schaf mit seinen speziellen Eigenschaften und den Methoden. Aus einer Klasse können wir beliebig viele Objekte erzeugen. Diese können sich in ihrem Namen und den Werten der Eigenschaften unterscheiden.
Die Klasse
Am Besten definiert man eine eigene Klasse in einer separaten Datei. Meist benennt man diese gleich wie die Klasse, einfach klein-geschrieben, also z.B. sheep.py.
Der Konstruktor
Oft möchte man gleich beim Erstellen des Objektes gewisse Eigenschaften festlegen, entweder weil sie für jedes Objekt gleich sind oder weil sie zwingend einen Wert haben müssen.
Anwendung: Rationale Zahlen
Mit Rationalen Zahlen kann der Computer normalerweise nicht richtig rechnen. Wir können ihm dies aber beibringen, indem wir eine Klasse Rational selbst programmieren.
Vererbung
Bei der Vererbung (inheritance) können Methoden und Eigenschaften einer Klasse weitergegeben werden.
Datenkapselung
Mit der Datenkapselung (encapsulation) können wir den Zugriff auf Eigenschaften und Methoden von aussen einschränken.
Grundprinzipien
Im Folgenden versuchen wir, die in den letzten Kapiteln kennengelernten Grundprinzipien der Objektorientierten Programmierung zusammenzufassen:
Projekt
Sōkoban, japanisch «Lagerhausverwalter» ist ein Spiel, dass 1982 in Japan erstmals erschien. (https://www.sokoban.jp)