Klassen in Python
Nun starten wir mit Python und klassenorientierter Programmierung.
Wir definieren eine Klasse. Die Definition von Klassen muss vor dem Hauptprogramm im Code stehen. Zur Erinnerung aus dem letzten Kapitel: Klassen sind Baupläne, aus denen dann später die Objekte erstellt werden.
Starten wir einfach, denn am Beispiel wird die Funktion und die Vorteile klar.

Aus didaktischen Gründen basteln wir eine Katzen-Klasse (wer Allergien gegen Katzen hat, darf wahlweise auch eine Hunde-Klasse erstellen).
Also nennen wir das Kind beim Namen. In vielen Kursen und später bei gewohntem Umgang mit Klassen und objektorientierter Programmierung wird man den Klassennamen sehr kurz und aussagekräftig halten – dann würde man etwas in die Richtung class Katze
festlegen. Zum Lernen werde ich den etwas sperrigeren Klassennamen BauplanKatzenKlasse
einsetzen.
Zum Festlegen einer Klasse in Python benötigen wir das Schlüsselwort class
und darauf folgt der Namen der Klasse.
Unsere erste Zeile für unsere Klasse lautet also:
class BauplanKatzenKlasse():
Was fällt auf? Der Klassenname startet mit einem Großbuchstaben! So erkennt man bereits am Namen, dass es sich um eine Klasse handeln muss! Sind es mehrere Worte, werden diese über die UpperCamelCase-Variante zusammengeschrieben. Wer ein deutsches Wort dafür benötigt – Binnenmajuskel :) – Großbuchstaben mitten im Wort wie bei den Kamelhöckern. Leerzeichen und Unterstriche werden auf keinen Fall genutzt! (Siehe Spickzettel zum Thema Konventionen und Schreibweisen)
Nach dem Klassennamen folgt eine öffnende und schließende runde Klammer und dann der Doppelpunkt, den man gerne einmal versehentlich vergisst.
Eine kleine Beschreibung gleich nach der Klassendefinition mitzugeben, macht sehr viel Sinn. Diese Beschreibung taucht bei der Nutzung von help(Klassenname)
wieder auf. Diese Hilfen kennt man von allen Befehlen von Python, die man aufrufen kann über help(befehl)
.
Diese Hilfen sind auch wichtig, wenn man mit mehreren Programmierern an einem Projekt arbeitet bzw. wenn man seine Klassen weitergeben möchte oder an einem schlechten Gedächtnis leidet.
Wie sieht das im Code aus? Nach der ersten Zeile mit class …
starten wir in der nächsten Zeile eingerückt mit 3 doppelten Anführungszeichen – das nennt sich Docstring (Dokumentationsstring). Abgeschlossen wird der Hilfetext mit 3 doppelten Anführungszeichen.
class BauplanKatzenKlasse():
""" Klasse für das Erstellen von Katzen
Hilfetext ideal bei mehreren Programmierern in
einem Projekt oder bei schlechtem Gedächtnis """
Um uns die Hilfe einmal ausgeben lassen zu können, geben wir noch in unserem Programm die folgende help
-Zeile ein:
class BauplanKatzenKlasse():
""" Klasse für das Erstellen von Katzen
Hilfetext ideal bei mehreren Programmierern in
einem Projekt oder bei schlechtem Gedächtnis """
print(help(BauplanKatzenKlasse))
Wir erhalten dann als Rückmeldung:
Help on class BauplanKatzenKlasse in module __main__:
class BauplanKatzenKlasse(builtins.object)
| Klasse für das Erstellen von Katzen
| Hilfetext ideal bei mehreren Programmierern in
| einem Projekt oder bei schlechtem Gedächtnis
|
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
Bisher haben wir nur den Rumpf für unsere Klasse erstellt. Im folgenden Kapitel wollen wir nun die Eigenschaften festlegen.